1
我有一個註冊表,並有一個日期時間列。
我想在顯示當前月份的每日註冊數的網頁上顯示條形圖。
我該如何做一個查詢?即返回每天(當月)字段的結果集,當天的註冊總數爲
我有一個註冊表,並有一個日期時間列。
我想在顯示當前月份的每日註冊數的網頁上顯示條形圖。
我該如何做一個查詢?即返回每天(當月)字段的結果集,當天的註冊總數爲
select day(Date), count(*)
from table
where month(Date) = month(NOW()) and year(Date) = year(NOW())
group by day(Date)
「where」子句選擇當前月份。您可以使用count(whatever)
或count(distinct whatever)
代替count(*)
......
事情是這樣的僞代碼:
SELECT Day, COUNT(*)
FROM XXX_Users
GROUP BY "date extracted from datetime" as Day
要提取的日期時間,你可以使用DATE函數日期:
SELECT Day, COUNT(*)
FROM XXX_Users
GROUP BY DATE(created) as Day
或者你可以創建一個存儲過程來包含所有的邏輯
可能會更好地使用日期範圍,因爲'month(date)'和'year(dat e)'不會被編入索引。 – 2012-03-14 00:36:24
像這樣,你不會得到所有的日子,只有在數據庫中的記錄。有沒有辦法得到所有的日子,如果沒有記錄,得到0? – Alvaro 2013-01-16 11:43:33
@Steve,實際上是一個很好的問題,在編碼過程中我遇到過很多次......我想最好的解決方案是在表示層以外的SQL之外完成這個工作。 – TMS 2013-01-16 13:00:36