簡體   English   中英

MySQL查詢結果全天候

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM