2009-09-21 9 views
12

アクセスログを含むテーブルがあります。私はresource_id '123'へのアクセスが24時間で1時間ごとに何回発生したのか知りたい。この情報を取得するためのMySQLで時間単位でグループを検索する

私が最初に考えたのはちょうどtimeフィールドがフォーマット15:47:55でデータを保持していることを考えると、それぞれの時間をループして、何かのような... and time like '$hour:%'に各ループ内のテーブルを照会しています。

group by時間があり、1時間に1時間ごとに1時間ごとに検索できますか?

データベースはMySQLです。言語はPHPです。

+0

は、datetime形式の 'time'列ですか? – Zenshai

+0

データベース構造を投稿してください - あなたはアクセス時間のための 'DATETIME'を持っていますか? – Josh

+0

@Zenshaiあなたは41秒でベストを迎えました:-) – Josh

答えて

34
SELECT HOUR(MyDatetimeColumn) AS h, COUNT(*) 
FROM MyTable 
GROUP BY h; 
3

時間を取得するには、機能HOURを使用できます。それでグループ化できるはずです。

関連する問題