[英]SQL - Get a count for each hour
我在 mySQL 中有一個看起來像這樣的表 -
user_id | login_date | ip_address
45 2016-03-28 21:18:01 111.111.111.111
43 2016-03-28 22:18:01 122.122.122.122
每次用戶登錄時,它都會在此表中創建一個新條目,我希望能夠做的是按小時計算登錄量,因此當我運行查詢時,它看起來像這樣。
date | hour | count
2016-03-28 19-20 0
2016-03-28 21-22 2
例如,2016 年 3 月 31 日從 09 到 10 小時有 5 人登錄,而在 2016 年 3 月 31 日從 10 到 11 小時有 0 人登錄。
使用這個答案 -
SELECT
DATE(login_date),
HOUR(login_date),
COUNT(*)
FROM logins
WHERE DATE(login_date) IS NOT NULL
GROUP BY CONCAT(DATE(login_date),HOUR(login_date))
ORDER BY HOUR(login_date) ASC
給我 -
為什么我得到NULL?
然后我將使用這些數據創建一個組合圖表來比較今天的登錄和昨天的登錄
在此先感謝您的幫助
我想你試試這個:
SELECT
DATE(login_date),
HOUR(login_date),
COUNT(*)
FROM your_table
WHERE DATE(login_date) IS NOT NULL
GROUP BY CONCAT(DATE(login_date),HOUR(login_date))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.