有這個疑問:最常見的工作日查詢
SELECT HOUR(DATE) AS hr, COUNT(*) AS cnt
FROM users
GROUP BY hr
ORDER BY cnt DESC
日期是一個DATETIME場和上面的查詢顯示我的日期字段最常見小時。
我試圖改善它,但不知道如何做到這一點,我想按星期幾和每週一天內的大多數常見小時分解它。
有這個疑問:最常見的工作日查詢
SELECT HOUR(DATE) AS hr, COUNT(*) AS cnt
FROM users
GROUP BY hr
ORDER BY cnt DESC
日期是一個DATETIME場和上面的查詢顯示我的日期字段最常見小時。
我試圖改善它,但不知道如何做到這一點,我想按星期幾和每週一天內的大多數常見小時分解它。
嘗試此查詢 -
SELECT
DAYOFWEEK(DATE) AS wd,
HOUR(DATE) AS hr,
COUNT(*) AS cnt
FROM
users
GROUP BY
wd, hr
ORDER BY
cnt DESC
SELECT
DATE_FORMAT(DATE, '%a') AS wd, -- or DATE_FORMAT(DATE, '%W')
HOUR(DATE) AS hr,
COUNT(*) AS cnt
FROM
users
GROUP BY
wd, hr
ORDER BY
cnt DESC
讓我知道,如果下面的工作:
SELECT dayname(DATE) as week_day,HOUR(DATE) AS hr, COUNT(*) AS cnt
FROM users
GROUP BY week_day, hr ORDER BY cnt DESC
這給了我更多的結果比我預期(沒有工作雖然)。我正在尋找細分:星期日/星期一/星期二/星期三/星期四/星期五/星期六,然後是最常見的時間。 – user838437 2012-03-28 09:53:32
然後嘗試更改組的列順序 – 2012-03-28 09:55:08
嘗試更新一次的答案 – 2012-03-28 09:59:04
很棒!我怎麼知道第一天的第一天是星期天還是星期一? – user838437 2012-03-28 09:55:24
DAYOFWEEK總是返回1 =星期日,依此類推。 – Devart 2012-03-28 09:58:58
使用dayname()查看我更新的答案 – 2012-03-28 10:00:29