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
Et ce qui donne en représentation ainsi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Le but est de savoir pour un utilisateur donné le nombre de message qu'il a posté par jour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Or je voudrais que les dates où il n'y a pas posté affiche 0. Les dates où il y a eu un message.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Comment faire ?
Merci beaucoup pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager