J'ai une requête MySQL qui renvoie une seule ligne qui est une série de 1 et 0. C'est pour un indicateur de progression. J'ai maintenant la sommation dans le code, mais j'ai essayé de faire la somme des valeurs dans une requête, et j'ai réalisé que je ne pouvais pas utiliser SUM(), car il y a beaucoup de colonnes mais seulement une ligne.Somme des valeurs d'une seule ligne?
Y a-t-il un moyen de résumer ceci automatiquement dans la requête? Il est comme ça:
item_1 | item_2 | item_3 | item_4
-------+--------+--------+--------
1 | 1 | 0 | 0
Edit: J'ai oublié de mentionner, item_1
et ainsi de suite ne sont pas des valeurs de champ simples, mais chacun est plutôt une expression, comme SELECT IF(field_1 = 1 and field_2 IS NOT NULL, 0, 1) AS item_1 ...
, donc il semble que je dois faire une requête imbriquée:
SELECT (item_1 + item_2 ...) FROM (SELECT IF(field_1 = y and field_2 IS NOT NULL, 1, 0) AS item_1 ...) AS alias
Correct?
Ah! Comme ce sont des expressions, et non des valeurs simples, je pourrais faire une requête imbriquée: SELECT (item_1 + item_2 ...) FROM (SELECT IF (champ_1 = y et champ_2 N'EST PAS NUL, 1, 0) AS item_1 ...) AS alias. Correct? – user151841
Oui, ça va marcher. – RedFilter