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、提供查询语句的解释和优化建议,帮助用户理解和使用查询结果。

接下来我们把我们的需求补充完整后发给大模型:

生成的数据如下

sql 复制代码
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_detail
    WHERE 
        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就可以轻松帮我们完成数据清洗了。

如果你也需要数据分析相关的提示词,请访问:
智能 | 巨人肩膀

相关推荐
那个村的李富贵5 小时前
光影魔术师:CANN加速实时图像风格迁移,让每张照片秒变大师画作
人工智能·aigc·cann
腾讯云开发者6 小时前
“痛点”到“通点”!一份让 AI 真正落地产生真金白银的实战指南
人工智能
CareyWYR6 小时前
每周AI论文速递(260202-260206)
人工智能
hopsky7 小时前
大模型生成PPT的技术原理
人工智能
山峰哥7 小时前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器
禁默8 小时前
打通 AI 与信号处理的“任督二脉”:Ascend SIP Boost 加速库深度实战
人工智能·信号处理·cann
心疼你的一切8 小时前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
AI绘画哇哒哒8 小时前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
数据分析能量站8 小时前
Clawdbot(现名Moltbot)-现状分析
人工智能
那个村的李富贵8 小时前
CANN加速下的AIGC“即时翻译”:AI语音克隆与实时变声实战
人工智能·算法·aigc·cann