Aide SQL regroupement sur datetime...
5 messages
• Page 1 sur 1
-

OJAL - WRInaute passionné

- Messages: 1178
- Inscription: 10 Avr 2003
Aide SQL regroupement sur datetime...
Bonjour,
Je sohaite compter le nombre d'enregistrements sur une table jour par jour, mais voila, je n'ai pas stocké de champs date, j'ai simplement un champ DATETIME...
Quelle requête feriez-vous?
Ne serait-il pas intéressant de stocker la date lors de chaque enregistrement pour faciliter ensuite la requête??
Merci par avance
Je sohaite compter le nombre d'enregistrements sur une table jour par jour, mais voila, je n'ai pas stocké de champs date, j'ai simplement un champ DATETIME...
Quelle requête feriez-vous?
Ne serait-il pas intéressant de stocker la date lors de chaque enregistrement pour faciliter ensuite la requête??
Merci par avance
- bigjet
- WRInaute discret

- Messages: 211
- Inscription: 21 Nov 2004
Tu récupère le timestamp de la journée (mktime en PHP), et ensuite tu contruis un intervalle (en rajoutant 24heures par exemple).
Et tu fais un SELECT between **debut_intervale** AND **fin intervalle**
Mais bon, pour manipuler les dates, vaut mieux utiliser un champ de type date (avis personnel).
Et tu fais un SELECT between **debut_intervale** AND **fin intervalle**
Mais bon, pour manipuler les dates, vaut mieux utiliser un champ de type date (avis personnel).
-

Bh@Mp0 - WRInaute discret

- Messages: 245
- Inscription: 18 Jan 2005
Par exemple, si ton champ datetime s'appelle mydatetime :
J'ai supposé :
* qu'on prend tous les champs
* que la table s'appelle mytable
* que je n'ai pas de clause WHERE (il est possible d'en mettre une à votre convenance)
* qu'on laisse l'ordre par défaut (on pourrait ordonner avec un ORDER BY)
Ah ! Aussi, j'ai mis la date au format JJ/MM/YYYY, mais il est possible de choisir un format "universel" (YYYY-MM-JJ), ou un format bizarre (JJ#YYYY#MM, MM~YYYY~JJ, ...). C'est juste que j'ai considéré que la date au format français pourrait être réutilisée
- Code: Tout sélectionner
SELECT *, DATE_FORMAT(`mydatetime`, '%d/%m/%Y') AS `mydate` FROM `mytable` GROUP BY `mydate`
J'ai supposé :
* qu'on prend tous les champs
* que la table s'appelle mytable
* que je n'ai pas de clause WHERE (il est possible d'en mettre une à votre convenance)
* qu'on laisse l'ordre par défaut (on pourrait ordonner avec un ORDER BY)
Ah ! Aussi, j'ai mis la date au format JJ/MM/YYYY, mais il est possible de choisir un format "universel" (YYYY-MM-JJ), ou un format bizarre (JJ#YYYY#MM, MM~YYYY~JJ, ...). C'est juste que j'ai considéré que la date au format français pourrait être réutilisée
-

Bh@Mp0 - WRInaute discret

- Messages: 245
- Inscription: 18 Jan 2005
Pardon, j'avais pas lu que tu voulais seulement compter le nombre d'enregistrements date par date. En effet, dans ce cas-là, autant faire un
où id est une clef.
- Code: Tout sélectionner
COUNT(DISTINCT `id`) AS `count`
où id est une clef.
5 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- calcul entre 2 dates sql avec datetime
- requete sql sur un champ format DATETIME
- Regroupement de données dans un champs SQL
- Aide MySQL pour regroupement par intervalles
- Aide requete SQL
- aide svp : requete sql => MATCH() AGAINST()
- Aide sur une requête SQL
- [Réglé] Aide pour requete SQL
- Aide pour les liens dans sql
- Convertir datetime en time()
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
