我有一组月度职位。现在我需要一个数组,其中包含每个月发布的帖子的总记录。我在MySql查询下面试过,它的工作正常,但我在没有记录的月份期待0(零)。这里它不返回0.如果没有找到记录,MySql count()返回0
我读了COUNT()不会返回'0',那么我如何实现这个?
我尝试了IFNULL()和COALESCE(),但仍得到相同的结果。请帮助这个查询。谢谢你......
SELECT
count(id) as totalRec
FROM ('post')
WHERE year(date) = '2013'
AND monthname(date) IN ('January', 'February', 'March')
GROUP BY year(date)-month(date)
ORDER BY 'date' ASC
得到了结果:
+----------+
| totalRec |
+----------+
| 7 |
| 9 |
+----------+
预期结果(凡有一月没有职位):
+----------+
| totalRec |
+----------+
| 0 |
| 7 |
| 9 |
+----------+
样本数据:
+----+---------------------+
| id | date |
+----+---------------------+
| 24 | 2012-12-16 16:29:56 |
| 1 | 2013-02-25 14:57:09 |
| 2 | 2013-02-25 14:59:37 |
| 4 | 2013-02-25 15:12:44 |
| 5 | 2013-02-25 15:14:18 |
| 7 | 2013-02-26 11:31:31 |
| 8 | 2013-02-26 11:31:59 |
| 10 | 2013-02-26 11:34:47 |
| 14 | 2013-03-04 04:39:02 |
| 15 | 2013-03-04 05:44:44 |
| 16 | 2013-03-04 05:48:29 |
| 19 | 2013-03-07 15:22:34 |
| 20 | 2013-03-15 12:24:43 |
| 21 | 2013-03-16 16:27:43 |
| 22 | 2013-03-16 16:29:28 |
| 23 | 2013-03-16 16:29:56 |
| 11 | 2013-03-17 11:35:12 |
+----+---------------------+
你可以给样本记录,我们可以一起玩? –
你GROUP BY看上去不正确 –
@JW웃我已经编辑我的问题与样本数据.. – sravis