Mysql 合并今年和去年最后一个季度的总业绩?
Mysql merge total results from this year and the last quarter of last year?
我以前从来没有这样做过,尝试过在线搜索,但真的不知道我在找什么。我必须显示今年的所有结果,而且还要将这些结果与去年最后一个季度合并。所以显示今年所有结果的查询是:
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 年您必须按管辖权 GROUP BY 才能获得当年的总数,其余的应该是 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
我以前从来没有这样做过,尝试过在线搜索,但真的不知道我在找什么。我必须显示今年的所有结果,而且还要将这些结果与去年最后一个季度合并。所以显示今年所有结果的查询是:
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 年您必须按管辖权 GROUP BY 才能获得当年的总数,其余的应该是 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