AI数据分析:deepseek生成SQL

devtools/2025/3/7 0:04:35/
aidu_pl">

在当今数据驱动的时代,数据分析已成为企业和个人决策的重要工具。随着人工智能技术的快速发展,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_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.ppmy.cn/devtools/165104.html

相关文章

编程题 - 明明的随机数【JavaScript/Node.js解法】

“千里之行&#xff0c;始于足下。” —— 老子 目录 明明的随机数 题目&#xff1a;js代码解答&#xff1a;通过&#xff1a; 明明的随机数 题目&#xff1a; 对于明明生成的 n 个 1 到 500 之间的随机整数&#xff0c;你需要帮助他完成以下任务&#xff1a; 删去重复的数字…

C语言:51单片机 结构体系(带最小系统设计图)

注&#xff1a;本案例采用AT89C51系列单片机 单片机的内核 89系列单片机型号由3个部分组成&#xff0c;分别是前缀、型号、后缀&#xff0c;格式为AT89C(LV\、S)XXXX。 前缀 由字母组成&#xff0c;表示某某公司的产品。 型号 型号由89 CXXXX或89 LVXXXX或89 SXXXX等表示…

计算机毕业设计Python+DeepSeek-R1大模型农作物害虫识别 机器学习农作物健康识别系统 人工智能 图像识别 机器学习 深度学习

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

React生态、Vue生态与跨框架前端解决方案

React生态系统 1 基础框架 React.js 是一个用于构建UI的JavaScript库。 2 应用框架 Next.js 是基于React.js的完整应用框架。主要负责应用如何工作&#xff1a; 应用架构&#xff1a;路由系统、页面结构渲染策略&#xff1a;服务端渲染(SSR)、静态生成(SSG)、客户端渲染性…

什么是 JVM? JVM (Java Virtual Machine)

JVM&#xff08;Java Virtual Machine&#xff0c;Java 虚拟机&#xff09;是一个虚构出来的计算机&#xff0c;它是一种规范&#xff0c;有自己的指令集&#xff0c;并且在运行时操作各种内存区域。JVM 是 Java 平台的核心组成部分&#xff0c;负责执行 Java 字节码&#xff0…

物联网中水位计顶级功能有哪些

在物联网&#xff08;IoT&#xff09;应用中&#xff0c;水位计是用于监测水体&#xff08;如水库、河流、湖泊、水井等&#xff09;水位变化的关键设备。顶级功能的水位计不仅需要高精度和可靠性&#xff0c;还应具备智能化、远程监控和数据分析能力。以下是物联网中水位计的顶…

HTML在网页开发中的应用与重要性

## 摘要 HTML&#xff08;HyperText Markup Language&#xff09;是网页开发的基础语言之一&#xff0c;它定义了网页的结构和内容。随着互联网的快速发展&#xff0c;HTML不断演进&#xff0c;从HTML4到HTML5&#xff0c;其功能和特性得到了极大的增强。本文将探讨HTML在网页…

Docker 的应用场景

互联网各领域资料分享专区(不定期更新): Sheet 前言 Docker的基本概念,它主要是容器化技术,所以应用场景和容器化的优势相关。比如,环境一致性、快速部署、资源隔离这些特点。可能的应用场景包括开发环境搭建、持续集成/持续部署(CI/CD)、微服务架构、测试环境隔离等等。…