Bonsoir,

Je ne comprends pas ce qui cloche dans ma requête :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT IF(table_date = CURDATE(), COUNT(*), 0)
FROM ma_table  
GROUP BY id
Je ne veux pas faire ça dans le WHERE parce que la requête final que je souhaites faire devra ressembler à :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
SELECT 
IF(table_date = DATE_SUB(CURDATE(), INTERVAL 6 DAY), COUNT(*), 0) AS DATE_SUB(CURDATE(), INTERVAL 6 DAY),
IF(table_date = DATE_SUB(CURDATE(), INTERVAL 5 DAY), COUNT(*), 0) AS DATE_SUB(CURDATE(), INTERVAL 5 DAY),
IF(table_date = DATE_SUB(CURDATE(), INTERVAL 4 DAY), COUNT(*), 0) AS DATE_SUB(CURDATE(), INTERVAL 4 DAY),
IF(table_date = DATE_SUB(CURDATE(), INTERVAL 3 DAY), COUNT(*), 0) AS DATE_SUB(CURDATE(), INTERVAL 3 DAY),
IF(table_date = DATE_SUB(CURDATE(), INTERVAL 2 DAY), COUNT(*), 0) AS DATE_SUB(CURDATE(), INTERVAL 2 DAY),
IF(table_date = DATE_SUB(CURDATE(), INTERVAL 1 DAY), COUNT(*), 0) AS DATE_SUB(CURDATE(), INTERVAL 1 DAY),
IF(table_date = CURDATE(), COUNT(*), 0) AS CURDATE()
FROM ma_table  
GROUP BY id
Pour un résultat glissant à partir de la date du jour.

Ma date table_date est au format '2009-11-16', c'est un champ de type date.

Une idée ?

Merci d'avance