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;
查询语句的解释
-
CTE (Common Table Expression)
SalesData:- 门店: 从
t_order_detail表中提取dept_id字段,表示门店。 - 商品: 从
t_order_detail表中提取goods_id字段,表示商品。 - 累计销售额: 计算每个门店、每个商品在2025年2月份的累计销售额,即
SUM(num * price)。 - 排名: 使用
ROW_NUMBER()窗口函数,按门店分组,按累计销售额降序排列,生成每个门店内商品的排名。
- 门店: 从
-
主查询:
- 筛选条件: 使用子查询计算每个门店的累计销售额的80%分位数,并筛选出累计销售额大于或等于该分位数的商品。
- 排序: 按门店ID和商品ID倒序排列结果。
性能优化建议
-
索引优化:
- 在
t_order_detail表的order_time字段上创建索引,以加速时间范围的筛选。 - 在
dept_id和goods_id字段上创建复合索引,以加速分组和排序操作。
- 在
-
分区表:
- 如果数据量非常大,考虑按时间分区表(如按月分区),以减少查询时需要扫描的数据量。
总之,我们借助PromptIDE+deepseek就可以轻松帮我们完成数据清洗了。
如果你也需要数据分析相关的提示词,请访问:
智能 | 巨人肩膀
相关文章:
AI数据分析:deepseek生成SQL
在当今数据驱动的时代,数据分析已成为企业和个人决策的重要工具。随着人工智能技术的快速发展,AI 驱动的数据分析工具正在改变我们处理和分析数据的方式。本文将着重介绍如何使用 DeepSeek 进行自动补全SQL 查询语句。 我们都知道,SQL 查询语…...
Kafka 消息 0 丢失的最佳实践
文章目录 Kafka 消息 0 丢失的最佳实践生产者端的最佳实践使用带有回调的 producer.send(msg, callback) 方法设置 acks all设置 retries 为一个较大的值启用幂等性与事务(Kafka 0.11)正确关闭生产者与 flush() 方法 Broker 端的最佳实践设置 unclean.l…...
vue3(笔记)3.0 Pinia状态管理数据.持久化插件.内置vue devtools调试工具
---pinia状态管理数据(vuex升级版) 官网镜像:(https://pinia.vuejs.org/zh/core-concepts/) 安装(手动): npm install pinia 导入pinia: 组合式写法的格式: 使用前需要导入: import {defineStore} from piniaactions:支持了同步和异步的方法(融合了mutations) 在组件中调…...
装饰器模式:灵活扩展对象功能的利器
一、从咖啡加料说起:什么是装饰器模式? 假设您走进咖啡馆点单: 基础款:美式咖啡(15元)加料需求:加牛奶(3元)、加焦糖(5元)、加奶油(…...
linux应用:errno、perror、open、fopen
errno errno 是一个全局变量,定义在 头文件中。当系统调用(如 open、read、write 等)或库函数执行失败时,会将一个错误码赋值给 errno。不同的错误码代表不同的错误类型,通过检查 errno 的值,可以判断具体…...
网络原理--HTTP协议
http中文名为超文本传输协议,所谓“超文本”就是指传输范围超出了能在UTF8等码表上找到的字符的范围,包含一些图片,特殊格式之类的。 HTTP的发展简介 从图中可以看出到现在已经发展出了HTTP3,但是市面上的主流还是以HTTP1.0为主。…...
编译可以在Android手机上运行的ffmpeg程序
下载代码 git clone gitgithub.com:FFmpeg/FFmpeg.git git checkout n7.0建立build目录 mkdir build cd build创建build.sh脚本 vim build.sh这段脚本的主要功能是配置和编译 FFmpeg,使其能够在 Android 平台上运行,通过设置不同的架构和 API 级别&am…...
华为hcia——Datacom实验指南——配置手工模式以太网链路聚合
什么是以太网链路聚合(Eth-trunk) 是一种将多个物理链路捆绑在一起,让设备以为是一条大链路,能够增加带宽,增加冗余度,提升可靠性,实现负载平衡。 传输方式有两种 基于数据流传输和基于数据包…...
【C语言6】数组和函数实践:扫雷游戏的简单实现
文章目录 一、扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析1.2.2 文件结构设计 二、扫雷游戏的代码实现三、扫雷游戏的扩展总结 一、扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 使用控制台实现经典的扫雷游戏游戏可以通过菜单实现继续…...
LeetCode 热题 100----1.两数之和
LeetCode 热题 100----1.两数之和 题目描述 我的解法 语言:js 思路就是:用双重循环去找哪两个数字相加等于target,目前的时间复杂度为O(n2),之后右优化思路再更新。...
《模式和状态管理》知识总结三-EcuM与BswM模块的交互
前言 这篇文章主要搞清楚在模式管理中,BswM和EcuM各自的分工。距离学完模式管理也有几天时间了,写这篇文章算是复习一下。 EcuM及BswM交互总览 EcuM负责Ecu的上下电状态的处理,当Ecu处于正常运行状态的时候,EcuM会将Ecu的控制权…...
RK3568平台(网络篇)RTL8111网卡
RTL8111 是 Realtek 推出的一款高性能千兆以太网控制器芯片,广泛应用于 PCIE 网卡中。 其工作原理涉及 数据链路层 和 物理层 的协同工作,以下是其核心原理的详细说明: 一.网卡的基本功能 1.数据封装与解封装: 网卡负责将计算机中的数据封装成网络传输的帧(Frame),并…...
客户需求模糊或频繁变更怎么办
应对客户需求模糊或频繁变更的关键在于 明确沟通、敏捷应对、科学决策。其中,明确沟通尤为重要,因为通过有效沟通,不仅能迅速厘清客户真实需求,还能及时发现隐藏问题,降低项目风险,为后续调整提供有力数据支…...
动静态库-Linux 学习
在软件开发中,程序库是一组预先编写好的程序代码,它们存储了常用的函数、变量和数据结构等。这些库可以帮助开发者节省大量的时间和精力,避免重复编写相同的代码。当我们在 Linux 系统中开发程序时,经常会用到两种类型的程序库&am…...
DeepSeek 系列模型:论文精读《A Survey of DeepSeek Models》
引言:一篇快速了解 DeepSeek 系列的论文。我在翻译时加入了一些可以提高 “可读性” 的连词 ✅ NLP 研 2 选手的学习笔记 笔者简介:Wang Linyong,NPU,2023级,计算机技术 研究方向:文本生成、大语言模型 论文…...
Python解决“找出整形数组中占比超过一半的数”问题
这里写目录标题 问题描述测试样例解决思路代码法1法2 问题描述 小R从班级中抽取了一些同学,每位同学都会给出一个数字。已知在这些数字中,某个数字的出现次数超过了数字总数的一半。现在需要你帮助小R找到这个数字。 测试样例 样例1: 输入&…...
机器人学习模拟框架 robosuite (3) 机器人控制代码示例
Robosuite框架是一个用于机器人模拟和控制的强大工具,支持多种类型的机器人。 官方文档:Overview — robosuite 1.5 documentation 开源地址:https://github.com/ARISE-Initiative/robosuite 目录 1、通过键盘或SpaceMouse远程控制机器人…...
kakfa-3:ISR机制、HWLEO、生产者、消费者、核心参数负载均衡
1. kafka内核原理 1.1 ISR机制 光是依靠多副本机制能保证Kafka的高可用性,但是能保证数据不丢失吗?不行,因为如果leader宕机,但是leader的数据还没同步到follower上去,此时即使选举了follower作为新的leaderÿ…...
【微知】如何查看Mellanox网卡上的光模块的信息?(ethtool -m enp1s0f0 看型号、厂商、生产日期等)
背景 服务器上插入的光模块经常被忽略,往往这里是定位问题最根本的地方。如何通过命令查看? 命令 ethtool提供了-m参数,m是module-info的意思,他是从光模块的eeprom中读取数据。(应该是用i2c协议读取的)…...
yum源选要配置华为云的源,阿里云用不了的情况
curl -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo...
nginx accesslog 打印自定义header
比如我在请求的header中添加了一个path-match-type,那我现在nginx的accesslog 中打印出来,应该如何配置呢? rootnginx-59f5d66df6-jw5k8:/# cat /etc/nginx/nginx.conf user nginx; worker_processes auto;error_log /var/log/nginx/erro…...
好数——前缀和思想(题目分享)
今天我的舍友去参加“传智杯”广东省的省赛,跟我说了这样一道题,他说他想不出来怎么去优化代码,怎么做都是套用两层for循环超时,下面我就根据题意,使用前缀和的算法去优化一下思路,题目本身是不难的&#x…...
MWC 2025 | 移远通信大模型解决方案加速落地,引领服务机器人创新变革
随着人工智能、大模型等技术的蓬勃发展,生成式AI应用全面爆发。在此背景下,服务机器人作为大模型技术在端侧落地的关键场景,迎来了前所未有的发展机遇。 作为与用户直接交互的智能设备,服务机器人需要应对复杂场景下的感知、决策和…...
【大模型基础_毛玉仁】0.概述
更多内容:XiaoJ的知识星球 【大模型基础_毛玉仁】 系列文章参考 系列文章 【大模型基础_毛玉仁】0.概述 【大模型基础_毛玉仁】1.1 基于统计方法的语言模型 更新中。。。。。。 参考 书籍:大模型基础_完整版.pdf Github:https://github.co…...
ADB、Appium 和 大模型融合开展移动端自动化测试
将 ADB、Appium 和 大模型(如 GPT、LLM) 结合,可以显著提升移动端自动化测试的智能化水平和效率。以下是具体的实现思路和应用场景: 1. 核心组件的作用 ADB(Android Debug Bridge): 用于与 Android 设备通信,执行设备操作(如安装应用、获取日志、截图等)。Appium: 用…...
springboot425-基于SpringBoot的BUG管理系统(源码+数据库+纯前后端分离+部署讲解等)
💕💕作者: 爱笑学姐 💕💕个人简介:十年Java,Python美女程序员一枚,精通计算机专业前后端各类框架。 💕💕各类成品Java毕设 。javaweb,ssm…...
Ubuntu系统上部署Node.js项目的完整流程
以下是在Ubuntu系统上部署Node.js项目的完整流程,分为系统初始化、环境配置、项目部署三个部分: 一、系统初始化 & 环境准备 bash # 1. 更新系统软件包 sudo apt update && sudo apt upgrade -y# 2. 安装基础工具 sudo apt install -y buil…...
X Window---图形接口
摘抄自 鸟哥的linux私房菜 基础篇 第四版 有鉴于图形用户接口(Graphical User Interface, GUI) 的需求日益加重,在 1984 年由 MIT 与其他第三方首次发表了 X Window System ,并且更在 1988 年成立了非营利性质的 XFree86 这个组织。所谓的XFree86 其实是…...
数据序列化协议 Protobuf 3 介绍(Go 语言)
Protobuf 3 入门 1. 什么是序列化? 1.1 概念 序列化(Serialization 或 Marshalling) 是指将数据结构或对象的状态转换成可存储或传输的格式。反向操作称为反序列化(Deserialization 或 Unmarshalling),它…...
FineReport 操作注意
1.父单元格重复的时候,如何取消合并 效果如下: 只需要在单元格中,将数据设置为【列表】即可。 2.待定...
