article表
字段id (int),title (string),createtime (時間戳)
比如要查詢2015年3月到2017年8月份,每個自然月發布的文章是多少篇。月份沒有發布文章的顯示為0。比如:
Array
(
[0] => Array
(
[month] => 2015-3
[times] => 0
)
[1]=> Array
(
[month] => 2015-4
[times] => 4
)
[2]=> Array
(
[month] => 2015-5
[times] => 0
)
...
[...]=> Array
(
[month] => 2017-8
[times] => 4
)
)
6 回答

阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
select DATE_FORMAT(createtime,'%Y-%m'), count(*) from article group by DATE_FORMAT(createtime,'%Y-%m')
針對沒有數據的月份,可以放在程序里循環處理一下

慕標琳琳
TA貢獻1830條經驗 獲得超9個贊
select month ( create_time ) ,count(*) from orders where year ( create_time) = 2015 group by month (create_time)
我表里的時間存的是DATETIME 2015-05-05 23:59:59
樓上的兄弟說的很明白,沒有數據,就沒有默認值一說

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
首先一點,沒有數據的話,mysql也不會有數據,所以會缺失月份。尼需要用程序填充
SELECT COUNT(1) AS total,FROM_UNIXTIMESTAMP(createtime,'%Y-%m') as m from article GROUP BY m ORDER BY m ASC
- 6 回答
- 0 關注
- 3199 瀏覽
添加回答
舉報
0/150
提交
取消