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

如何合并两个MySQL SELECT查询结果,按GEAR维度输出总量和四月统计数据

你可以通过条件聚合的方式实现需求,仅需一次表扫描即可得到结果,执行效率更高,SQL写法如下:

SELECT 
  GEAR,
  COUNT(GEAR) AS Total,
  SUM(CASE WHEN MONTH(fail_time) = 4 THEN 1 ELSE 0 END) AS April
FROM new_failure
WHERE STN_CODE = "BVH"
GROUP BY GEAR;

逻辑说明:

  • 原有全量统计逻辑不变,COUNT(GEAR)直接返回对应设备的全部故障总数
  • 4月故障统计通过条件判断实现:仅当故障时间属于4月时计数+1,其余情况+0,求和后得到对应设备4月的故障数
  • 该写法会自动将4月无故障记录的设备的April字段赋值为0,无需额外判空处理

如果你更倾向于用两个查询结果拼接的方式实现,也可以使用左连接写法:

SELECT 
  t1.GEAR,
  t1.Total,
  IFNULL(t2.April, 0) AS April
FROM (
  SELECT GEAR, COUNT(GEAR) AS Total 
  FROM new_failure 
  WHERE STN_CODE = "BVH" 
  GROUP BY GEAR
) t1
LEFT JOIN (
  SELECT GEAR, COUNT(GEAR) AS April
  FROM new_failure 
  WHERE STN_CODE = "BVH" AND MONTH(fail_time) = 4 
  GROUP BY GEAR
) t2 ON t1.GEAR = t2.GEAR;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:00:01