mysql - Mysql合并今年和去年最后一个季度的总结果?
问题描述
我以前从来没有这样做过,并尝试过在线搜索,但我什至不知道我在寻找什么。我必须显示今年的所有结果,还要将这些结果与去年最后一个季度合并。所以显示今年所有结果的查询是:
SELECT distinct(jurisdiction), total_miles FROM test_a WHERE year = '2021' ORDER BY year DESC, quarter DESC, jurisdiction ASC
并包括上一季度的结果是:
SELECT distinct(jurisdiction), total_miles FROM test_a WHERE year = '2020' AND quarter ='4'
数据库结构是:
quarter
year
jurisdiction
total_miles
一个示例输出是:
Q1 2021 TX 100 miles
Q1 2021 CA 20 miles
Q2 2021 TX 50 miles
Q4 2020 AL 500 miles
合并今年和去年第四季度的结果的查询是什么?即使我的第一个查询也不正确,因为它不会总结当年每个季度的所有里程。
因此,如果今年 TX 管辖区有 100 英里,而去年第 4 季度有 50 英里,那么只会导致 TX 管辖区有 150 英里。它将把每个管辖区的所有里程加起来。谢谢你的时间。
解决方案
2021 年您必须按管辖区分组才能获得该年的总数,其余的应该是 INNER JOIN
SELECT t1.jurisdiction, t1.total_miles + t2.total_miles as totalmile
FROM
(SELECT jurisdiction, SUM(total_miles) as total_miles FROM test_a WHERE year = '2021' GROUP BY jurisdiction) t1
INNER JOIN (SELECT distinct(jurisdiction), total_miles FROM test_a WHERE year = '2020' AND quarter ='4') t2 ON t1.jurisdiction = t2.jurisdiction
ORDER BY t1.jurisdiction ASC
推荐阅读
- java - JJWT 依赖混淆
- oauth-2.0 - 联合环境中的 ADFS 声明配置
- javascript - 使用 window.open 在“另存为”模式下下载文件
- python - Kivy如何将函数的输出显示为文本
- javascript - 如何在电子应用程序中使用音乐元数据消除参考错误
- java - 错误原因:java.io.IOException:{“错误”:{“代码”:403,“消息”:“权限被拒绝。无法执行此操作”}}
- excel - 从excel转换为utf8的问题,并在VBA中返回de信息
- amazon-web-services - 从失败的 Spark 作业中清理输出的最佳方法是什么?
- python - Python:使用 .isin() 发出熊猫数据框的子集行
- java - 活动将被破坏并返回主活动错误:E/AndroidRuntime:致命异常:主要