En SQL j'ai une colonne appelée "réponse", et la valeur peut être 1 ou 2. J'ai besoin de générer une requête SQL qui compte le nombre de 1 et 2 pour chaque mois. J'ai la requête suivante, mais il ne fonctionne pas:SQL; Ne compter que les valeurs spécifiées dans chaque colonne
SELECT MONTH(`date`), YEAR(`date`),COUNT(`answer`=1) as yes,
COUNT(`answer`=2) as nope,` COUNT(*) as total
FROM results
GROUP BY YEAR(`date`), MONTH(`date`)
A la variation de ceci est d'utiliser count (cas distinct quand 'answer' = 1 puis' answer'else null end). Il est plus utile lorsque vous avez des jointures que les mêmes lignes apparaissent plusieurs fois et que vous ayez une valeur distincte dans la réponse (l'utilisation de sum (1) l'ajoute plusieurs fois pour la même ligne principale). Pas utile dans ce cas, mais mérite d'être mentionné :) –