Requete SQL group by date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requete SQL group by date

Re: Requete SQL group by date

par romje » 24 mai 2011, 20:47

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.

Re: Requete SQL group by date

par dunbar » 17 mai 2011, 22:10

Re: Requete SQL group by date

par ignatus » 17 mai 2011, 05:51

bonjour,


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

Re: Requete SQL group by date

par Hachka » 20 août 2010, 10:33

Personne ne peut m'aider ?

Requete SQL group by date

par Hachka » 19 août 2010, 17:10

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.