AI数据分析:deepseek生成SQL

news2025/3/6 12:30:20

在当今数据驱动的时代,数据分析已成为企业和个人决策的重要工具。随着人工智能技术的快速发展,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_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就可以轻松帮我们完成数据清洗了。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2309989.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3(笔记)3.0 Pinia状态管理数据.持久化插件.内置vue devtools调试工具

---pinia状态管理数据(vuex升级版) 官网镜像:(https://pinia.vuejs.org/zh/core-concepts/) 安装(手动): npm install pinia 导入pinia: 组合式写法的格式: 使用前需要导入: import {defineStore} from piniaactions:支持了同步和异步的方法(融合了mutations) 在组件中调…

网络原理--HTTP协议

http中文名为超文本传输协议&#xff0c;所谓“超文本”就是指传输范围超出了能在UTF8等码表上找到的字符的范围&#xff0c;包含一些图片&#xff0c;特殊格式之类的。 HTTP的发展简介 从图中可以看出到现在已经发展出了HTTP3&#xff0c;但是市面上的主流还是以HTTP1.0为主。…

华为hcia——Datacom实验指南——配置手工模式以太网链路聚合

什么是以太网链路聚合&#xff08;Eth-trunk&#xff09; 是一种将多个物理链路捆绑在一起&#xff0c;让设备以为是一条大链路&#xff0c;能够增加带宽&#xff0c;增加冗余度&#xff0c;提升可靠性&#xff0c;实现负载平衡。 传输方式有两种 基于数据流传输和基于数据包…

【C语言6】数组和函数实践:扫雷游戏的简单实现

文章目录 一、扫雷游戏分析和设计1.1 扫雷游戏的功能说明1.2 游戏的分析和设计1.2.1 数据结构的分析1.2.2 文件结构设计 二、扫雷游戏的代码实现三、扫雷游戏的扩展总结 一、扫雷游戏分析和设计 1.1 扫雷游戏的功能说明 使用控制台实现经典的扫雷游戏游戏可以通过菜单实现继续…

LeetCode 热题 100----1.两数之和

LeetCode 热题 100----1.两数之和 题目描述 我的解法 语言&#xff1a;js 思路就是&#xff1a;用双重循环去找哪两个数字相加等于target&#xff0c;目前的时间复杂度为O(n2)&#xff0c;之后右优化思路再更新。

《模式和状态管理》知识总结三-EcuM与BswM模块的交互

前言 这篇文章主要搞清楚在模式管理中&#xff0c;BswM和EcuM各自的分工。距离学完模式管理也有几天时间了&#xff0c;写这篇文章算是复习一下。 EcuM及BswM交互总览 EcuM负责Ecu的上下电状态的处理&#xff0c;当Ecu处于正常运行状态的时候&#xff0c;EcuM会将Ecu的控制权…

客户需求模糊或频繁变更怎么办

应对客户需求模糊或频繁变更的关键在于 明确沟通、敏捷应对、科学决策。其中&#xff0c;明确沟通尤为重要&#xff0c;因为通过有效沟通&#xff0c;不仅能迅速厘清客户真实需求&#xff0c;还能及时发现隐藏问题&#xff0c;降低项目风险&#xff0c;为后续调整提供有力数据支…

动静态库-Linux 学习

在软件开发中&#xff0c;程序库是一组预先编写好的程序代码&#xff0c;它们存储了常用的函数、变量和数据结构等。这些库可以帮助开发者节省大量的时间和精力&#xff0c;避免重复编写相同的代码。当我们在 Linux 系统中开发程序时&#xff0c;经常会用到两种类型的程序库&am…

DeepSeek 系列模型:论文精读《A Survey of DeepSeek Models》

引言&#xff1a;一篇快速了解 DeepSeek 系列的论文。我在翻译时加入了一些可以提高 “可读性” 的连词 ✅ NLP 研 2 选手的学习笔记 笔者简介&#xff1a;Wang Linyong&#xff0c;NPU&#xff0c;2023级&#xff0c;计算机技术 研究方向&#xff1a;文本生成、大语言模型 论文…

机器人学习模拟框架 robosuite (3) 机器人控制代码示例

Robosuite框架是一个用于机器人模拟和控制的强大工具&#xff0c;支持多种类型的机器人。 官方文档&#xff1a;Overview — robosuite 1.5 documentation 开源地址&#xff1a;https://github.com/ARISE-Initiative/robosuite 目录 1、通过键盘或SpaceMouse远程控制机器人…

kakfa-3:ISR机制、HWLEO、生产者、消费者、核心参数负载均衡

1. kafka内核原理 1.1 ISR机制 光是依靠多副本机制能保证Kafka的高可用性&#xff0c;但是能保证数据不丢失吗&#xff1f;不行&#xff0c;因为如果leader宕机&#xff0c;但是leader的数据还没同步到follower上去&#xff0c;此时即使选举了follower作为新的leader&#xff…

【微知】如何查看Mellanox网卡上的光模块的信息?(ethtool -m enp1s0f0 看型号、厂商、生产日期等)

背景 服务器上插入的光模块经常被忽略&#xff0c;往往这里是定位问题最根本的地方。如何通过命令查看&#xff1f; 命令 ethtool提供了-m参数&#xff0c;m是module-info的意思&#xff0c;他是从光模块的eeprom中读取数据。&#xff08;应该是用i2c协议读取的&#xff09;…

yum源选要配置华为云的源,阿里云用不了的情况

curl -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo

好数——前缀和思想(题目分享)

今天我的舍友去参加“传智杯”广东省的省赛&#xff0c;跟我说了这样一道题&#xff0c;他说他想不出来怎么去优化代码&#xff0c;怎么做都是套用两层for循环超时&#xff0c;下面我就根据题意&#xff0c;使用前缀和的算法去优化一下思路&#xff0c;题目本身是不难的&#x…

MWC 2025 | 移远通信大模型解决方案加速落地,引领服务机器人创新变革

随着人工智能、大模型等技术的蓬勃发展&#xff0c;生成式AI应用全面爆发。在此背景下&#xff0c;服务机器人作为大模型技术在端侧落地的关键场景&#xff0c;迎来了前所未有的发展机遇。 作为与用户直接交互的智能设备&#xff0c;服务机器人需要应对复杂场景下的感知、决策和…

springboot425-基于SpringBoot的BUG管理系统(源码+数据库+纯前后端分离+部署讲解等)

&#x1f495;&#x1f495;作者&#xff1a; 爱笑学姐 &#x1f495;&#x1f495;个人简介&#xff1a;十年Java&#xff0c;Python美女程序员一枚&#xff0c;精通计算机专业前后端各类框架。 &#x1f495;&#x1f495;各类成品Java毕设 。javaweb&#xff0c;ssm&#xf…

FineReport 操作注意

1.父单元格重复的时候&#xff0c;如何取消合并 效果如下&#xff1a; 只需要在单元格中&#xff0c;将数据设置为【列表】即可。 2.待定

3D手眼标定转换详细实施步骤及原理概述

3D手眼标定转换详细实施步骤及原理概述 一、手眼标定的核心目标二、3D手眼标定的原理概述一、基本概念与坐标系定义**二、数学建模与方程推导****1. 坐标变换的齐次矩阵表示****2. 手眼标定方程推导** **三、方程求解方法****1. 分离旋转与平移****2. 旋转矩阵求解****3. 平移向…

Verilog:SCCB控制器

目录 一、SCCB协议 &#xff08;1&#xff09;SCCB时序 &#xff08;2&#xff09;与I2C的区别 二、Verilog 实现 &#xff08;1&#xff09;设计要求 &#xff08;2&#xff09;设计要点 &#xff08;3&#xff09;模块完整代码 三、功能验证 &#xff08;1&#xff09;写…

与中国联通技术共建:通过obdiag分析OceanBase DDL中的报错场景

中国联通软件研究院&#xff08;简称联通软研院&#xff09;在全面评估与广泛调研后&#xff0c;在 2021年底决定采用OceanBase 作为基础&#xff0c;自研分布式数据库产品CUDB&#xff08;即China Unicom Database&#xff0c;中国联通数据库&#xff09;。目前&#xff0c;该…