Page 1 sur 1

Requete SQL group by date

Posté : 19 août 2010, 17:10
par Hachka
Bonjour a tous,

je cherche en vain depuis ce matin comment faire pour grouper par tranche de 5 minutes, en effet je vous explique ce que je souhaiterais faire:

Imagine une db avec comme champ une date d'inscription , un id , un nom, etc... et une autre db vide


la première inscription, a eu lieu il y a 10 ans, et je souhaiterais, enregistrer dans une autre base de donnée, le nombre d'inscription par tranche de 5 minutes.

Et la je bloque complètement...

Donc si vous pouviez m'éclairer, je vous en serait très reconnaissant

merci d avance.

Re: Requete SQL group by date

Posté : 20 août 2010, 10:33
par Hachka
Personne ne peut m'aider ?

Re: Requete SQL group by date

Posté : 17 mai 2011, 05:51
par ignatus
bonjour,


si tu as trouvé, je suis tout à fait intéressé, merci :)

Re: Requete SQL group by date

Posté : 17 mai 2011, 22:10
par dunbar

Re: Requete SQL group by date

Posté : 24 mai 2011, 20:47
par romje
SELECT COUNT( * ) , DATE_FORMAT( date_ajout, "%d/%m/%Y %H:%i" ) AS nb
FROM ma_table
GROUP BY FLOOR((UNIX_TIMESTAMP(date_ajout) / 600))

Si tu détermine la valeur entière immédiatement inférieure à la division par 600 (600s = 5 minutes) du timestamp de ta date, tu obtiens la même valeur pour toutes les occurrences à l'intérieur d'une plage de 5 minutes.
0s à 599 => 0
600 à 1199 => 1
etc.
Donc le GROUP BY doit fonctionner dans le sens que tu souhaite. Je n'ai pas le jeu de données qui me permettrait de le vérifier.