Problème de comptage sur des dates
Ma question est basé sur le principe des forums.
J'ai une table qui contient la date d'un message posé, l'iduser et d'autres champs qui ne sont pas nécaissaires dans mon problème.
mysql
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| CREATE TABLE `zzTest` (
`id` INT NOT NULL AUTO_INCREMENT ,
`dt` DATE NOT NULL ,
`iduser` INT NOT NULL ,
PRIMARY KEY ( `id` )
);
INSERT INTO `zzTest` (`id`, `dt`, `iduser`) VALUES (1, '2000-01-01', 1);
INSERT INTO `zzTest` (`id`, `dt`, `iduser`) VALUES (2, '2000-01-01', 1);
INSERT INTO `zzTest` (`id`, `dt`, `iduser`) VALUES (3, '2000-01-02', 2);
INSERT INTO `zzTest` (`id`, `dt`, `iduser`) VALUES (4, '2000-01-02', 1);
INSERT INTO `zzTest` (`id`, `dt`, `iduser`) VALUES (5, '2000-01-05', 1);
INSERT INTO `zzTest` (`id`, `dt`, `iduser`) VALUES (6, '2000-01-06', 2); |
Et ce qui donne en représentation ainsi
Code:
1 2 3 4 5 6
| 2000-01-01 1
2000-01-01 1
2000-01-02 2
2000-01-02 1
2000-01-05 1
2000-01-06 2 |
Le but est de savoir pour un utilisateur donné le nombre de message qu'il a posté par jour.
Code:
1 2 3 4 5 6
| SELECT count(*) nb, dt FROM zzTest WHERE iduser=1 GROUP BY dt;
Résultat
2000-01-01 2
2000-01-02 1
2000-01-05 1 |
Or je voudrais que les dates où il n'y a pas posté affiche 0. Les dates où il y a eu un message.
Comment faire ?
Code:
1 2 3 4 5 6
|
Résultat voulu pour user 1
2000-01-01 2
2000-01-02 1
2000-01-05 1
2000-01-06 0 |
Merci beaucoup pour votre aide