は、このクエリを持っている:最も一般的な曜日クエリ
SELECT HOUR(DATE) AS hr, COUNT(*) AS cnt
FROM users
GROUP BY hr
ORDER BY cnt DESC
DATEはDATETIMEフィールドであり、上記のクエリは私に日付フィールドの中で最も一般的な時間を示しています。
私はそれを改善しようとしていますが、それを行う方法がわからないので、私は平日にそして毎週日から最も一般的な時間にそれを分解したいと思います。
は、このクエリを持っている:最も一般的な曜日クエリ
SELECT HOUR(DATE) AS hr, COUNT(*) AS cnt
FROM users
GROUP BY hr
ORDER BY cnt DESC
DATEは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
これは私が(ただし、動作しなかった)期待していたよりも多くの結果が得られました。私はSun/Mon/Tue/Wed/Thu/Fri/Satの内訳を探していて、その中で最も一般的な時間を探しています。 – user838437
グループ内の列の順番を変更してみてください –
一度更新された回答を試してください –
作品はすばらしいですね、最初の日1が日曜日か月曜日かどうかはどうやって知ることができますか? – user838437
DAYOFWEEKは常に1 =日曜日などを返します。 – Devart
dayname()を使用すると、更新された回答が表示されます –