Dates en sql... - SQL/NoSQL - Programmation
Marsh Posté le 13-09-2006 à 12:06:51
ta 1ere requête est déjà pas top:
Code :
|
ensuite pour le mois
Code :
|
Marsh Posté le 13-09-2006 à 12:11:24
Ok, cool
en effet de voir ton code me fait réaliser qu'il me manque quelques connaissances...
et que mon code partait d'une bonne logique mais montre vite ses limites ;-)
Merci pour tout
Marsh Posté le 13-09-2006 à 12:25:02
perso, je préfère travailler avec datepart() que year(), month(), etc. ça permet d'avoir une fonction plus générique pour un résultat identique et plus de possibilités (semaine, jour de la semaine, etc.)
Marsh Posté le 13-09-2006 à 12:26:47
Probleme: suite
Voici le code qui fonctionne
SELECT YEAR (date_saisie), MONTH(date_saisie), COUNT(id_direction) AS nb FROM interventions
WHERE id_direction='1'
AND YEAR (date_saisie)= '$annee'
AND MONTH(date_saisie)= '$mois'
GROUP BY month(date_saisie), year(date_saisie)
Je n'ai plus que 1 probleme, quand il n'y a pas de resultat il n'affiche pas 0
ce que "j'avais résolu" avec un left join auparavant
est il possible de mixer les 2 ?
Marsh Posté le 13-09-2006 à 12:02:22
Bonjour a tous
Voici mon petit probleme:
je veux faire des statistiques sur une table en fonction d'un champ de type date
Pour l'année je faisais un truc du genre:
SELECT COUNT(id_direction) AS nb FROM interventions
WHERE id_direction='1'
AND date_saisie like '$annee%'" ou $annee était l'annee qui m'interessait
jusque la pas de probleme
mais ensuite je veux faire des stats par mois
alors j'ai essayé ca
SELECT COUNT(id_direction) AS nb FROM interventions
WHERE id_direction='1'
AND date_saisie like '$annee-$mois%'"
mais comme je fais une boucle avec ma variable $mois
si $mois=1 par exemple alors il trouve aucun resultat car 1 n'est pas égal à 01 (format de stockage date mysql) pour lui !
j'ai bien la possibilité de coder en dur mais cela m'empeche de faire ma boucle...
j'ai essayé ceci
SELECT COUNT(id_direction) AS nb FROM interventions
WHERE id_direction='1'
AND date_saisie like '$annee-_$mois%'" le underscore ajoute 1 caractere variable
mais cela fonctionne pour les 9 premiers mois seulement!
Quelqu'un a t il une idée pour me faire progresser?
Merci