ピーター
SELECT COUNT(*), HOUR(timecode)
FROM timecodeTable
GROUP BY HOUR(timecode);
上記のデータを前提とした結果セットは、次のようになります。
+----------+----------------+
| COUNT(*) | HOUR(timecode) |
+----------+----------------+
| 10 | 18 |
+----------+----------------+
さらに多くの関連関数が見つかります
編集
あなたのコメントの出力に基づいて私自身のいくつかのテストを行った後、私はあなたのデータベースがエピックフェイルの状態にあると判断しました 。 :)タイムスタンプとしてINTを使用しています。これは決して良い考えではありません。 TIMESTAMP/DATETIMEの代わりにINTを使用する正当な理由はありません。
そうは言っても、上記の例を次のように変更する必要があります。
SELECT COUNT(*), HOUR(FROM_UNIXTIME(timecode))
FROM timecodeTable
GROUP BY HOUR(FROM_UNIXTIME(timecode));
編集2
これを実現するために、追加のGROUPBY句を使用できます。
SELECT
COUNT(*),
YEAR(timecode),
DAYOFYEAR(timecode),
HOUR(timecode)
FROM timecodeTable
GROUP BY YEAR(timecode), DAYOFYEAR(timecode), HOUR(timecode);
簡潔にするためにFROM_UNIXTIME()を省略したことに注意してください。