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

如何编写MySQL查询合并本年数据与上年Q4数据并按管辖地汇总里程

正确MySQL查询方案

实现逻辑

  • 第一步:筛选符合要求的所有数据:包含2021年全年数据、2020年第四季度数据
  • 第二步:按管辖地jurisdiction分组,对分组内的total_miles字段做求和聚合
  • 第三步:可选按管辖地排序方便查看结果

最终查询语句

SELECT 
  jurisdiction,
  SUM(total_miles) AS total_miles
FROM test_a
WHERE 
  year = '2021' 
  OR (year = '2020' AND quarter = '4')
GROUP BY jurisdiction
ORDER BY jurisdiction ASC;

灵活适配动态年份方案(可选)

如果不想写死固定年份,可适配查询当前年份+上年Q4的数据,语句如下:

SELECT 
  jurisdiction,
  SUM(total_miles) AS total_miles
FROM test_a
WHERE 
  year = YEAR(NOW())
  OR (year = YEAR(NOW()) - 1 AND quarter = '4')
GROUP BY jurisdiction
ORDER BY jurisdiction ASC;

原语句问题说明

你之前的查询使用了DISTINCT,仅会返回去重后的管辖地和对应单条里程记录,没有对同一管辖地的多季度里程做聚合计算,也没有合并两个查询的结果集做汇总,因此无法得到合计值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 22:39:03