AI數據分析:deepseek生成SQL

在當今數據驅動的時代,數據分析已成為企業和個人決策的重要工具。隨著人工智能技術的快速發展,AI 驅動的數據分析工具正在改變我們處理和分析數據的方式。本文將著重介紹如何使用 DeepSeek 進行自動補全SQL 查詢語句。

我們都知道,SQL 查詢語句是每個數據分析師的必修課,今天就教大家如果使用DeepSeek自動補全SQL.

以下是一個使用 DeepSeek 自動補全SQL 的實際案例。

假設我們有一個訂單明細表(t_order_detail)包含order_id(訂單id)、goods_id(商品id)、dept_id(門店id)、num(銷量)、price(單價)、order_time(銷售時間),我們需要某時間段內貢獻門店80%銷售額的商品。

?

接下來我們用PromptIDE-提示詞開發工具幫我們生成一個數據清洗的提示詞。

生成的提示詞如下:

# 角色: 
SQL查詢專家## 背景: 
用戶需要根據提供的字段及需求編寫SQL查詢語句。這可能是因為用戶需要從數據庫中提取特定數據以支持業務決策、生成報告或進行數據分析。用戶可能對SQL語法不熟悉,或者需要優化現有的查詢語句。## 注意:
1、用戶希望通過SQL查詢快速獲取所需數據,因此查詢語句需要高效且準確。
2、用戶可能對數據庫結構不熟悉,因此需要清晰的字段描述和表關系說明。
3、用戶可能希望查詢語句能夠靈活應對不同的數據需求,因此需要具備一定的通用性和可擴展性。## 技能:
1、精通SQL語法,能夠編寫復雜的查詢語句。
2、熟悉數據庫結構設計,能夠理解表之間的關系。
3、具備優化查詢性能的能力,能夠編寫高效的SQL語句。
4、能夠根據業務需求設計查詢邏輯,確保查詢結果符合業務要求。## 目標:
1、根據用戶提供的字段及需求,編寫準確的SQL查詢語句。
2、確保查詢語句能夠高效執行,避免性能瓶頸。
3、提供查詢語句的解釋,幫助用戶理解查詢邏輯。
4、根據用戶反饋,優化查詢語句以滿足不斷變化的需求。## 約束:
1、查詢語句必須符合SQL語法規范。
2、查詢語句必須基于用戶提供的字段和表結構。
3、查詢語句應盡量避免復雜的嵌套查詢,以提高可讀性和執行效率。
4、查詢語句應考慮到數據庫的性能,避免全表掃描等低效操作。## 輸入:
<字段描述>需要查詢的字段</字段描述>
<表結構描述>已有表結構</表結構描述>
<查詢需求描述>需要查詢的數據</查詢需求描述>## 輸出:
1、生成的SQL查詢語句。
2、查詢語句的解釋,包括查詢邏輯和字段說明。
3、查詢語句的性能優化建議(如有必要)。
4、針對用戶需求的進一步建議或擴展查詢示例。## 工作流:
1、分析用戶提供的字段描述,明確需要查詢的字段。
2、分析用戶提供的表結構描述,理解表之間的關系。
3、根據用戶提供的查詢需求描述,設計查詢邏輯。
4、編寫SQL查詢語句,并確保其符合語法規范和性能要求。
5、提供查詢語句的解釋和優化建議,幫助用戶理解和使用查詢結果。

接下來我們把我們的需求補充完整后發給大模型:

生成的數據如下

WITH SalesData AS (SELECT dept_id AS 門店,goods_id AS 商品,SUM(num * price) AS 累計銷售額,ROW_NUMBER() OVER (PARTITION BY dept_id ORDER BY SUM(num * price) DESC) AS 排名FROM t_order_detailWHERE order_time >= '2025-02-01' AND order_time < '2025-03-01'GROUP BY dept_id, goods_id
)
SELECT 門店,商品,累計銷售額,排名
FROM SalesData
WHERE 累計銷售額 >= (SELECT PERCENTILE_CONT(0.8) WITHIN GROUP (ORDER BY 累計銷售額) FROM SalesData AS sd WHERE sd.門店 = SalesData.門店)
ORDER BY 門店 DESC, 商品 DESC;

查詢語句的解釋

  1. CTE (Common Table Expression)?SalesData:

    • 門店: 從t_order_detail表中提取dept_id字段,表示門店。
    • 商品: 從t_order_detail表中提取goods_id字段,表示商品。
    • 累計銷售額: 計算每個門店、每個商品在2025年2月份的累計銷售額,即SUM(num * price)
    • 排名: 使用ROW_NUMBER()窗口函數,按門店分組,按累計銷售額降序排列,生成每個門店內商品的排名。
  2. 主查詢:

    • 篩選條件: 使用子查詢計算每個門店的累計銷售額的80%分位數,并篩選出累計銷售額大于或等于該分位數的商品。
    • 排序: 按門店ID和商品ID倒序排列結果。

性能優化建議

  1. 索引優化:

    • t_order_detail表的order_time字段上創建索引,以加速時間范圍的篩選。
    • dept_idgoods_id字段上創建復合索引,以加速分組和排序操作。
  2. 分區表:

    • 如果數據量非常大,考慮按時間分區表(如按月分區),以減少查詢時需要掃描的數據量。

總之,我們借助PromptIDE+deepseek就可以輕松幫我們完成數據清洗了。

如果你也需要數據分析相關的提示詞,請訪問:
智能 | 巨人肩膀

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72530.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72530.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72530.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

動態規劃01背包問題系列一>目標和

目錄 題目分析及優化&#xff1a;狀態表示&#xff1a;狀態轉移方程&#xff1a;初始化&#xff1a;填表順序&#xff1a;返回值&#xff1a;代碼呈現&#xff1a;優化&#xff1a;代碼呈現&#xff1a; 題目分析及優化&#xff1a; 狀態表示&#xff1a; 狀態轉移方程&#xf…

Linux 基礎---sudo權限 修改文件所屬人、用戶所屬組

sudo 概念&#xff1a;讓普通用戶使用管理員權限執行一些操作&#xff08;root&#xff09; 在命令前加上sudo 即可 修改文件所屬人、所屬組

HMC7043和HMC7044芯片配置使用

一,HMC7043芯片 MC7043獨特的特性是對14個通道分別進行獨立靈活的相位管理。所有14個通道均支持頻率和相位調整。這些輸出還可針對50 Ω或100 Ω內部和外部端接選項進行編程。HMC7043器件具有RF SYNC功能,支持確定性同步多個HMC7043器件,即確保所有時鐘輸出從同一時鐘沿開始…

【動手實驗】TCP半連接隊列、全連接隊列實戰分析

本文是對 從一次線上問題說起&#xff0c;詳解 TCP 半連接隊列、全連接隊列 這篇文章的實驗復現和總結&#xff0c;借此加深對 TCP 半連接隊列、全連接隊列的理解。 實驗環境 兩臺騰訊云服務器 node2&#xff08;172.19.0.12&#xff09; 和 node3&#xff08;172.19.0.15&am…

Springboot整合WebSocket+Redis以及微信小程序如何調用

一、 Springboot整合WebSocket 1. 引入socket依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency>引入依賴后需要刷新maven,Websocket的版本默認跟隨S…

影刀RPA開發拓展--SQL常用語句全攻略

前言 SQL&#xff08;結構化查詢語言&#xff09;是數據庫管理和操作的核心工具&#xff0c;無論是初學者還是經驗豐富的數據庫管理員&#xff0c;掌握常用的 SQL 語句對于高效管理和查詢數據都至關重要。本文將系統性地介紹最常用的 SQL 語句&#xff0c;并為每個語句提供詳細…

大模型訓練微調技術介紹

大模型訓練微調技術是人工智能領域中的一項重要技術&#xff0c;旨在通過少量特定領域的數據對預訓練模型進行進一步訓練&#xff0c;使其更好地適應具體任務或應用場景。以下是關于大模型訓練微調技術的詳細介紹&#xff1a; 1. 微調技術的定義與意義 微調&#xff08;Fine-…

生態安全相關

概念&#xff1a;生態安全指一個國家具有支撐國家生存發展的較為完整、不受威脅的生態系統&#xff0c;以及應對內外重大生態問題的能力。 &#xff08;1&#xff09;國外生態安全的研究進展 國際上對生態安全的研究是從“環境”與“安全”之間的關系展開的。開始的階段&#x…

2024年第十五屆藍橋杯大賽軟件賽省賽Python大學A組真題解析《更新中》

文章目錄 試題A: 拼正方形(本題總分:5 分)解析答案試題B: 召喚數學精靈(本題總分:5 分)解析答案試題C: 數字詩意解析答案試題D:回文數組試題A: 拼正方形(本題總分:5 分) 【問題描述】 小藍正在玩拼圖游戲,他有7385137888721 個2 2 的方塊和10470245 個1 1 的方塊,他需…

《張一鳴,創業心路與算法思維》

張一鳴&#xff0c;多年如一日的閱讀習慣。 愛讀人物傳記&#xff0c;稱教科書式人類知識最濃縮的書&#xff0c;也愛看心理學&#xff0c;創業以及商業管理類的書。 馮侖&#xff0c;王石&#xff0c;聯想&#xff0c;杰克韋爾奇&#xff0c;思科。 《喬布斯傳》《埃隆馬斯…

策略模式處理

首先&#xff0c;定義接口或抽象父類。例如&#xff0c;定義一個Strategy接口&#xff0c;里面有execute方法。然后不同的策略類實現這個接口&#xff0c;比如ConcreteStrategyA、ConcreteStrategyB等&#xff0c;每個類用Component注解&#xff0c;可能指定Bean的名字&#xf…

go程序中使用pprof增加程序監控功能

1.什么是 pprof&#xff1f; pprof 是 Go 內置的性能分析工具&#xff0c;用于生成程序運行時的性能分析數據。它可以幫助開發者分析&#xff1a; CPU 使用情況 內存分配情況 Goroutine 狀況 系統調用分析等 2. 如何使用 pprof&#xff1f; 要使用 pprof&#xff0c;首先需要在…

javaweb自用筆記:Vue

Vue 什么是vue vue案例 1、引入vue.js文件 2、定義vue對象 3、定義vue接管的區域el 4、定義數據模型data 5、定義視圖div 6、通過標簽v-model來綁定數據模型 7、{{message}}直接將數據模型message展示出來 8、由于vue的雙向數據綁定&#xff0c;當視圖層標簽input里的…

376_C++_云透傳,板端負責處理透傳數據的API函數,用于實現客戶端對設備內部接口的訪問(VMS把數據直接傳給板端內部)

RsApi_PassThrough 云透傳,板端負責處理透傳數據的API函數,用于實現客戶端對設備內部接口的訪問(VMS把數據直接傳給板端內部) 我來分析一下 RsApi_PassThrough 函數的作用和實現邏輯: 1. 功能概述 RsApi_PassThrough 是一個透傳接口,用于處理 /API/Http/PassThrough 的…

基于eRDMA實測DeepSeek開源的3FS

DeepSeek昨天開源了3FS分布式文件系統, 通過180個存儲節點提供了 6.6TiB/s的存儲性能, 全面支持大模型的訓練和推理的KVCache轉存以及向量數據庫等能力, 每個客戶端節點支持40GB/s峰值吞吐用于KVCache查找. 發布后, 我們在阿里云ECS上進行了快速的復現, 并進行了性能測試, ECS…

計算機畢業設計SpringBoot+Vue.js醫院掛號就診系統(源碼+文檔+PPT+講解)

溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 溫馨提示&#xff1a;文末有 CSDN 平臺官方提供的學長聯系方式的名片&#xff01; 作者簡介&#xff1a;Java領…

Linux的用戶與權限--第二天

認知root用戶&#xff08;超級管理員&#xff09; root用戶用于最大的系統操作權限 普通用戶的權限&#xff0c;一般在HOME目錄內部不受限制 su與exit命令 su命令&#xff1a; su [-] 用戶名 -符號是可選的&#xff0c;表示切換用戶后加載環境變量 參數為用戶名&#xff0c…

計算機網絡軟考

1.物理層 1.兩個主機之間發送數據的過程 自上而下的封裝數據&#xff0c;自下而上的解封裝數據&#xff0c;實現數據的傳輸 2.數據、信號、碼元 碼元就是數字通信里用來表示信息的基本信號單元。比如在二進制中&#xff0c;用高電平代表 “1”、低電平代表 “0”&#xff0c…

第四十一:Axios 模型的 get ,post請求

Axios 的 get 請求方式 9.雙向數據綁定 v-model - 鄧瑞編程 Axios 的 post 請求方式&#xff1a;

【JQuery—前端快速入門】JQuery 操作元素

JQuery 操作元素 1. 獲取/修改元素內容 三個簡單的獲取元素的方法&#xff1a; 這三個方法即可以獲取元素的內容&#xff0c;又可以設置元素的內容. 有參數時&#xff0c;就進行元素的值設置&#xff0c;沒有參數時&#xff0c;就進行元素內容的獲取. 接下來&#xff0c;我們需…