You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将两条同表分组SQL查询合并为单条并发执行查询

合并DIS表分组统计查询的解决方案

没问题,咱们可以用条件聚合的方式把这两个查询合并成一条,这样就能在同一个结果集中同时展示FLG为"P"和"G"的统计数据,而且是单条可并发执行的SQL语句。

最终SQL语句

SELECT 
    (SSTA * 2) AS P_gst,
    SUM(CASE WHEN FLG = 'P' THEN SSTAAMO ELSE 0 END) AS P_gstamo,
    (SSTA * 2) AS G_gst,
    SUM(CASE WHEN FLG = 'G' THEN SSTAAMO ELSE 0 END) AS G_gstamo
FROM DIS
WHERE FLG IN ('P', 'G')
GROUP BY SSTA

逻辑解释

  • 过滤数据:WHERE FLG IN ('P', 'G')先筛选出我们需要的两类记录,避免处理无关数据,提升查询效率。
  • 条件聚合:通过CASE WHEN在SUM函数里做判断,只累加对应FLG值的SSTAAMO,这样就能分别得到FLG为"P"和"G"的统计总和。
  • 统一分组:保持原查询的GROUP BY SSTA逻辑,确保每个SSTA分组的统计结果在同一行展示,(SSTA*2)作为两类统计的gst值,因为同一分组下该计算值是一致的。

这个查询执行后,结果集的列会对应你期望的格式:P_gst、P_gstamo、G_gst、G_gstamo,同时展示两类统计结果。

内容的提问来源于stack exchange,提问作者jainpiyush484

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:20:11