bonjour,
un problème souvent discuté mais auquel je ne trouve pas de réponse:
j'ai une table clients comme suit:
id : date_creation
je veux connaitre le nombre d'inscriptions par jour, entre deux dates
Voici la requète:
qui renvoie par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT from_unixtime(date_creation,'%Y %M %D'),COUNT(id) from `clients` WHERE date_creation >= '".$startTime."' AND date_creation <= '".$endTime."' GROUP BY from_unixtime(date_creation,'%Y %M %D') ORDER BY date_creation asc
le problème étant que la requête n'envoie pas de 0 pour les jours sans inscriptions (les 6 et 7 Aout par exemple) ceci à cause de la clause where
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 2011 August 1st 2 2011 August 2nd 3 2011 August 3rd 2 2011 August 4th 2 2011 August 5th 4 2011 August 8th 4
la seule solution est de faire des tables de jours des mois avec un join dessus ?
Merci pour vos conseils éclairés
Note: la structure de la table est ce qu'elle est, (champs date qui est un time() dans un varchar)
Partager