MySQL: display records per hours, days, etc…

Un’ottimo metodo per calcolare i record totali raggruppati per periodi di tempo (avendo a disposizione una colonna di tipo timestamp):

SELECT COUNT(id) as items FROM <tablename> WHERE timestamp BETWEEN <date_from> AND <date_to> GROUP BY DATE_FORMAT(FROM_UNIXTIME(timestamp), '%H')

In questo modo se per esempio <date_from> e <date_to> formano 24 ore, otterremo i record raggruppati per ogni ora del giorno:

+-------+
| items |
+-------+
| 4280 |
| 2509 |
| 1613 |
| ....... |
| 3691 |
| 4997 |
| 4899 |
+-------+

Ovviamente modificando il range e l’opzione %H di DATE_FORMAT potremmo ottenere i record per giorni (%d), per mesi (%m), ecc…

Tags: , , , , , , ,

Post simili:

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

One Response to “MySQL: display records per hours, days, etc…”
  1. Stock Free Music
    06:53 on August 11th, 2012

    Thanks for sharing this SQL query, it’s always good to have examples that manipulate the timestamp.

Leave a comment

(required)

(required)


*

Categories