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 查询语…...
力扣-动态规划-115 不同子序列
思路 dp数组定义:0_i-1的字符串中有0_j-1的字符串有dp[i][j]个递推公式: if(s[i-1] t[j-1]){dp[i][j] dp[i-1][j-1] dp[i-1][j]; }else{dp[i][j] dp[i-1][j]; } 在该元素相同时,有两种可能1:使用该元素,所以0_i-2…...

Qt C++ 开发 动态上下页按钮实现
项目开发,想实现动态的显示按钮,考虑使用QStackedWidget做两个页面去切换。 首先,我们使用Qt ui 画出两个QStackedWidget的两个页面 要实现切换,我们只需要调用stackedWidget->setCurrentIndex(index)就行。 那么如何自动调…...

数据结构第五节:排序
1.常见的排序算法 插入排序:直接插入排序、希尔排序 选择排序:直接选择排序、堆排序 交换排序:冒泡排序、快速排序 归并排序:归并排序 排序的接口实现: // 1. 直接插入排序 void InsertSort(int* a, int n); // 2. 希…...

从文件到块: 提高 Hugging Face 存储效率
Hugging Face 在Git LFS 仓库中存储了超过30 PB 的模型、数据集和 Spaces。由于 Git 在文件级别进行存储和版本控制,任何文件的修改都需要重新上传整个文件。这在 Hub 上会产生高昂的成本,因为平均每个 Parquet 和 CSV 文件大小在 200-300 MB 之间&#…...
Android14 串口控制是能wifi adb实现简介
Android14 串口控制是能wifi adb实现简介 一、前言 文章目录 Android14 串口控制是能wifi adb实现简介一、前言二、Android14 串口控制是能wifi adb实现1、设置prop属性命令开启adb(1)相关prop属性设置(2)在设置界面或者 ifconfi…...
vue3中 组合式~测试深入组件:事件 与 $emit()
一、语法(props) 第一步:在组件模板表达式中,可以直接用$emit()方法触发自定义事件, <!-- MyComponent --> <button click"$emit(someEvent)">Click Me</button> 第二步父组件可以通过 v-on (缩写为 ) 来监听…...

SQL-labs13-16闯关记录
http://127.0.0.1/sqli-labs/less-13/ 基于POST单引号双注入变形 1,依然是一个登录框,POST型SQL注入 2,挂上burpsuite,然后抓取请求,构造请求判断漏洞类型和闭合条件 admin 发生了报错,根据提示闭合方式是(…...

基于微信小程序的停车场管理系统的设计与实现
第1章 绪论 1.1 课题背景 随着移动互联形式的不断发展,各行各业都在摸索移动互联对本行业的改变,不断的尝试开发出适合于本行业或者本公司的APP。但是这样一来用户的手机上就需要安装各种软件,但是APP作为一个只为某个公司服务的一个软件&a…...

DAIR-V2X-R数据集服务器下载
【官方github链接】https://github.com/ylwhxht/V2X-R 点击并登录 选择并点击下载 浏览器弹窗,右键选择复制下载链接 ------------------------------------服务器下载----------------------------------------- 登录服务器,选在要下载的文件夹复制路…...

table 拖拽移动
表格拖拽 Sortable.js中文网|配置 <!-- 教务处 --><template><div class"but"><el-button click"mergeAndPrintArrays()" type"primary">保存数据</el-button><el-button click"restoration()" t…...
Linux使用笔记:Find Tree 命令
Tree 命令的使用 使用-I 参数,过滤掉不想展未的目录或文件使用-L参数,指定展示的目录层级个数 arsenaltxzq1899:~/Workspace/vue-application$ tree -I node_modules/ -I public/ -L 2 . ├── components.json ├── Dockerfile ├── ecosystem.c…...

数据结构入门篇——什么是数据结构。
一、引入 工具是一种什么东西呢?是一种转化媒介,我们需要熟食,我们要通过用火来将生肉烤熟。在这个过程中。我们要输入一个东西——生肉,通过工具——火的加工,从而得到我们的目的产物——熟肉。 将上面的例子和红字部…...

MySQL-简介与基本命令
数据库 主流数据库 关系型数据库 MySQL:开源免费的关系型数据库,易于使用和学习,支持大型企业级应用。其特点包括高性能、可靠性和可扩展性,支持多种编程语言和操作系统,拥有大量的社区支持和插件SQLite:…...

汽车材料耐候性测试仪器-太阳光模拟器介绍
**太阳光模拟器**是一种用于模拟太阳光谱的设备,广泛应用于汽车材料的耐候性测试。通过模拟太阳光中的紫外线、可见光和红外线,评估材料在长期光照下的性能变化。 主要组成部分 1. **光源系统**: - **氙灯**:最常用的光源&…...

音频3A测试--AEC(回声消除)测试
一、测试前期准备 一台录制电脑:用于作为近段音源和收集远端处理后的数据; 一台测试设备B:用于测试AEC的设备; 一个高保真音响:用于播放设备B的讲话; 一台播放电脑:用于模拟设备A讲话,和模拟设备B讲话; 一台音频处理器(调音台):用于录制和播放数据; 测试使用转接线若…...

DeepSeek 助力 Vue3 开发:打造丝滑的弹性布局(Flexbox)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
六、Redis 高级功能详解:BitMap、HyperLogLog、Geo、Stream
Redis 高级功能详解:BitMap、HyperLogLog、Geo、Stream Redis 不仅提供了基础的数据结构(String、List、Set、Hash、Sorted Set),还提供了一些高级数据结构,专门用于特定的应用场景,如位运算统计、去重计数、地理位置存储、流数据处理等。本文将详细介绍这些高级功能的使…...

WSL下使用git克隆失败解决
WSL默认nat模式,别动了防火墙放行,见图1git导入[bash1],ip为你wsl上linxu通过ifconfig获取的本机ip,端口对好某alcsh软件开启tun模式【经过测试,不开也行】应该成了,如果不行,修改.wslconfig为下…...
【Elasticsearch】索引生命周期管理相关的操作(Index Lifecycle Actions)
Elasticsearch 的Index Lifecycle Management(ILM)是一种用于管理索引生命周期的工具,它允许用户根据索引的使用阶段(如热、温、冷、冻结)自动执行一系列操作。以下是详细解释 Elasticsearch 中的索引生命周期操作(Index Lifecycl…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...