[英]MySql query result all hours of day
即使計數為0,我也需要獲取一天中所有小時的數據。現在它輸出:
clicks--hour
1----- 7
2----- 13
我現在的查詢:
SELECT count(*) as clicks, hour(time) as hour FROM clicks WHERE DATE(time) = DATE(NOW()) GROUP BY hour
感謝您的時間
#解決了,設法自己完成了,有些方法。
SELECT h.Hour , COUNT(id) AS clicks FROM ( SELECT 0 AS Hour UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15 UNION ALL SELECT 16 UNION ALL SELECT 17 UNION ALL SELECT 18 UNION ALL SELECT 19 UNION ALL SELECT 20 UNION ALL SELECT 21 UNION ALL SELECT 22 UNION ALL SELECT 23) AS h LEFT OUTER JOIN clicks ON hour(time) = h.Hour AND DATE(time) = date(now()) GROUP BY h.Hour
您可以使用COALESCE
在select返回null的情況下,此命令可以用以下值替換null:
SELECT
COALESCE(count(*), 0) as clicks,
COALESCE(hour(time), hour(now())) as hour
FROM
clicks
WHERE DATE(time) = DATE(NOW()) GROUP BY hour
希望這就是您想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.