2009-10-27 16 views
5

Mam tabelę zawierającą rekordy widoku/kliknięcia. Czas jest przechowywany w uniksowym znaczniku czasu i muszę być w stanie wyciągnąć wszystkie z nich w określonym miesiącu/dniu (w oparciu o znaczniki czasu), ale co ważniejsze, a część, której nie wiem, jak to zrobić, to pogrupować je godzinę. Muszę być w stanie to zrobić w jednym zapytaniu, a nie przechodzić przez każdą godzinę.Wybieranie i grupowanie wierszy w podsumowaniu przez godzinę

Baza danych to MySQL, język to PHP.

Odpowiedz

5
select hour(somedate), count(*) from yourtable group by hour(somedate) 

Jeśli trzeba wszystkie trzy:

select month(somedate), day(somedate), hour(somedate), count(*) from yourtable group by month(somedate), day(somedate), hour(somedate) 
+0

Kiedy uruchomić następujące zapytanie: SELECT *, HOUR (TIMESTAMP) CO GODZINĘ Z ad_view LIMIT 0, 30 Zwraca 838 jako godzinę, gdzie powinna to być liczba godzin w bieżącym dniu. – Webnet

+0

Przepraszamy, liczbę godzin w bieżącym dniu (0-24), w której znajduje się znacznik czasu. – Webnet

+0

czy jesteś pewien, że to naprawdę sygnatura czasowa? czy jest to znacznik czasu zapisany w kolumnie int czy coś takiego? –