group by unique month per year, not just month
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
MySQL Query GROUP BY day / month / year
我有以下MySQL:
1 2 3 4 5 |
它获取过去15个月内每月的条目数量。我想知道为什么它只显示了过去12个月…然后我意识到这个数字是所有年份的总和,而不是每个月的唯一年份。因此,12月的价值可能是2012年和2011年的总和。
我不知道?我不想要这个。我想知道过去的15个月以及唯一月份年份的条目数量,例如2012年12月、2012年11月等。
我在这方面最直截了当的想法通常是将日期值的格式更改为一个唯一且能说话的字符串,比如2012年12月的2012-12和2011年10月的2011-10等等。
您可以使用的函数是
1 |
这些字符串很容易排序,例如,asc:
1 2 3 4 5 6 7 | 2011-10 2011-11 2011-12 ... 2012-10 2012-11 2012-12 |
示例SQL查询:
1 2 3 4 5 6 7 | SELECT DATE_FORMAT(FROM_UNIXTIME(timeStamp), '%Y-%m') as month, COUNT(id) as count FROM discusComments GROUP BY month ORDER BY month ASC LIMIT 15 |
将year添加到您的
1 2 3 4 5 6 7 8 9 |
试试这个
1 2 | months_between(to_date ('2009/05/15', 'yyyy/mm/dd'), to_date ('2009/04/16', 'yyyy/mm/dd')) |