GPT写SQL的模版

bash 复制代码
表:profit_loss_sum_m_snapshot
计算字段:成本cost_whole求和,收入income_whole求和,收入求和-成本求和,成本目标cost_target求和,收入求和-成本目标求和
条件:日期statis_date在2023-11-01,资源类型resource_type为公路,区域cost_structure_org为苏沪皖
分组:区域 cost_structure_org
分组后条件:收入求和-成本求和 小于 收入求和-成本目标求和
排序:按 收入求和-成本求和 倒序
sql 复制代码
SELECT cost_structure_org,
       SUM(cost_whole) AS total_cost,
       SUM(income_whole) AS total_income,
       SUM(income_whole) - SUM(cost_whole) AS income_minus_cost,
       SUM(cost_target) AS total_cost_target,
       SUM(income_whole) - SUM(cost_target) AS income_minus_cost_target
FROM profit_loss_sum_m_snapshot
WHERE statis_date = '2023-11-01'
  AND resource_type = '公路'
  AND cost_structure_org = '苏沪皖'
GROUP BY cost_structure_org
HAVING (SUM(income_whole) - SUM(cost_whole)) < (SUM(income_whole) - SUM(cost_target))
ORDER BY income_minus_cost DESC;

增加子查询

bash 复制代码
表:carrier_label_detail
计算字段:承运商carrier_code去重数量
条件:
  日期statis_date在2023-11-01,
  确认状态verify_status为审核通过,
  工作状态work_status为活跃,
  承运商carrier_code:
    内表:
      表:bid_book_detail 
      计算字段:承运商carrier_code去重 
      条件:招标日期quotation_end_time在2023-01-01和2023-08-03之间  
分组:区域 develop_org_name
分组后条件:无
排序:无
sql 复制代码
SELECT develop_org_name, 
       COUNT(DISTINCT carrier_code) AS unique_carrier_count
FROM carrier_label_detail
WHERE statis_date = '2023-11-01'
  AND verify_status = '审核通过'
  AND work_status = '活跃'
  AND carrier_code IN (
    SELECT DISTINCT carrier_code
    FROM bid_book_detail
    WHERE quotation_end_time BETWEEN '2023-01-01' AND '2023-08-03'
  )
GROUP BY develop_org_name;

嵌套查询

bash 复制代码
外表:
 内表:
  表名:profit_loss_sum_m_snapshot  
  计算字段:成本cost_whole求和,收入income_whole求和,收入求和-成本求和,成本目标cost_target求和,收入求和-成本目标求和  
  条件:日期statis_date在2023-11-01,资源类型resource_type为公路,区域cost_structure_org为苏沪皖 
  分组:区域 cost_structure_org 
  分组后条件:收入求和-成本求和 小于 收入求和-成本目标求和
  
计算字段:成本求和的求和,收入求和的求和,收入求和-成本求和的求和
条件:成本求和的求和 大于100000
sql 复制代码
SELECT
  SUM(subquery.成本求和) AS 成本求和的求和,
  SUM(subquery.收入求和) AS 收入求和的求和,
  SUM(subquery.收入减成本) AS 收入减成本求和
FROM (
  SELECT
    SUM(cost_whole) AS 成本求和,
    SUM(income_whole) AS 收入求和,
    SUM(income_whole) - SUM(cost_whole) AS 收入减成本,
    SUM(cost_target) AS 成本目标求和,
    SUM(income_whole) - SUM(cost_target) AS 收入减成本目标
  FROM
    profit_loss_sum_m_snapshot
  WHERE
    statis_date = '2023-11-01'
    AND resource_type = '公路'
    AND cost_structure_org = '苏沪皖'
  GROUP BY
    cost_structure_org
  HAVING
    SUM(income_whole) - SUM(cost_whole) < SUM(income_whole) - SUM(cost_target)
) AS subquery
HAVING
  SUM(subquery.成本求和) > 100000;

多表关联

bash 复制代码
表:carrier_label_detail
计算字段:承运商carrier_code去重数量,bid_book_detail表中的vehicle车辆数去重
关联字段:承运商carrier_code 
关联表:
  表名:bid_book_detail,
  条件:招标日期quotation_end_time在2023-01-01和2023-08-03之间
条件:日期statis_date在2023-11-01,确认状态verify_status为审核通过,工作状态work_status为活跃
分组:区域 develop_org_name
分组后条件:无
排序:无
sql 复制代码
SELECT develop_org_name,
       COUNT(DISTINCT carrier_label_detail.carrier_code) AS unique_carrier_count,
       COUNT(DISTINCT bid_book_detail.vehicle) AS unique_vehicle_count
FROM carrier_label_detail
LEFT JOIN bid_book_detail ON carrier_label_detail.carrier_code = bid_book_detail.carrier_code
WHERE carrier_label_detail.statis_date = '2023-11-01'
  AND carrier_label_detail.verify_status = '审核通过'
  AND carrier_label_detail.work_status = '活跃'
  AND bid_book_detail.quotation_end_time BETWEEN '2023-01-01' AND '2023-08-03'
GROUP BY develop_org_name;
相关推荐
考虑考虑16 小时前
数据库中的EXISTS
运维·数据库·后端
Wang's Blog16 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
梦想平凡17 小时前
百游棋牌源代码开发搭建教程(十):隔离部署、备份恢复与双端验收
java·前端·javascript·数据库·源代码管理
xcLeigh18 小时前
让大模型长出手脚,自己写SQL查数据库(Function Calling初探)
数据库·人工智能·sql·时序数据库·timechoai
yume_sibai19 小时前
06-Rust Web 开发实战(Axum 框架 + 数据库 + JWT 认证 + 中间件 + 部署)
前端·数据库·rust
AugustRed20 小时前
Neo4j 图数据库原理 + 应用场景简单介绍
数据库·neo4j
Gl�ria20 小时前
Redis 高可用架构对比
数据库·redis
IpdataCloud20 小时前
高可用的IP数据接口平台有哪些?从可用性、P99延迟到离线部署的评估框架(含代码)
数据库·tcp/ip·ip
呆萌很21 小时前
MySQL 数据库和表的管理操作(命令行)
数据库·mysql
IvorySQL21 小时前
当PostgreSQL“听懂”MySQL——协议兼容层的设计与实战
数据库·人工智能·postgresql