MySQL SELECT今年与去年同期相比

时间:2017-04-22 09:32:26

标签: mysql sql

所以,我正在尝试为项目制作一些统计数据。我试图将今年的数据与去年同月的数据进行比较。

我现在最好的就是这个

SELECT COUNT(tappe_id) FROM tappesesjon WHERE YEAR(tappedato) = YEAR(CURDATE()) GROUP BY MONTH(tappedato) DESC;
SELECT COUNT(tappe_id) FROM tappesesjon WHERE YEAR(tappedato) = YEAR(CURDATE() - INTERVAL 1 YEAR) GROUP BY MONTH(tappedato) DESC;

但它并没有真正发挥作用

编辑: 第一个查询给了我"会话"在今年的每个月,第二个给我同样的去年。我想要的是eksample的一种方式,看看今年1月份还有多少次会议比去年1月份更多。 我希望这能够解释我的问题

EDIT2:
tappe_id tappedato person_nr 1 2016-04-22 1231231231 2 2017-04-22 1231231231 3 2017-05-01 1231231231 4 2016-05-01 1231231231 5 2017-04-23 1231231231 6 2016-05-01 1231231231 7 2017-07-12 1231231231 8 2016-07-07 1231231231 9 2017-08-12 1231231231 10 2016-07-07 1231231231

2 个答案:

答案 0 :(得分:0)

根据我对您的问题的理解,您想知道每年每年和过去一年的会话数之间的差异。

以下是我对上述问题的解决方案,

FlatButton

答案 1 :(得分:0)

您可以使用条件聚合:

SELECT MONTH(tappeddato),
       SUM(YEAR(tappedato) = YEAR(CURDATE())) as cnt_current,
       SUM(YEAR(tappedato) = YEAR(CURDATE()) - 1) as cnt_lastyera,
FROM tappesesjon
WHERE YEAR(tappedato) IN (YEAR(CURDATE()), YEAR(CURDATE()) - 1)
GROUP BY MONTH(tappedato) DESC;