113 votes

MySql : est-il possible de faire un 'SUM IF' ou un 'COUNT IF' ?

J'ai une colonne 'hour' (heure) J'ai une colonne "genre" (qui peut être 1, 2 ou 3).

J'aimerais faire quelque chose comme :

SELECT count(id), SUM(hour) as totHour, SUM( IF ( kind = 1, 1, 0 ) ) as countKindOne

o

SELECT count(id), SUM(hour) as totHour, COUNT( IF ( kind = 1 ) ) as countKindOne

Mais mysql me dit que j'ai une erreur... quelle est l'erreur ?

Veuillez consulter ce sujet sur stackoverflow : MySQL SUM IF champ b = champ a

.. Je ne suis pas en mesure de répondre à cette question...

1voto

Antony Points 1408

Il est intéressant de noter que vous pouvez vous appuyer sur la réponse de Gavin Toweys en utilisant plusieurs champs de votre requête, par exemple

SUM(table.field = 1 AND table2.field = 2)

Vous pouvez également utiliser cette syntaxe pour COUNT et je suis sûr que d'autres fonctions le sont aussi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X