J'essaie de créer une requête qui fait une somme si un certain paramètre est ensemble. Par exemple:
SELECT SUM(IF(<condition> <condition>,field,field)) AS total_value
4 Réponses :
Regardez l'instruction CAS:
Select Sum( Case
When column1 = 'Foo' Then column2
When column1 = 'Bar' Then column3
When column1 = 'Gamma' Then column2 + column3
Else column3 End )
From ...
select sum(case when a = b then field1 else field2 end)
@Gugu: Pouvez-vous mettre à jour votre question pour inclure des données d'exemple et une sortie attendue, c'est donc plus clair pour nous ce que vous êtes après?
@Gugu: Postez la déclaration exacte que vous utilisez, ainsi que votre schéma et expliquez Comment B> Cela ne fonctionne pas. Aussi, voir ma mise à jour.
SELECT SUM(IF(<condition1>,
IF(<condition2>,
<field1>,
<field2>),
<field2>)) AS total_value
Vous devez mettre à jour votre question initiale pour clarifier exactement ce que vous cherchez à obtenir.
SELECT SUM(IF(field = value1 OR field = value2 OR field = value3,1,NULL)) AS total_value
Bienvenue sur Stackoverflow. Vous pouvez modifier votre question (et vos réponses) en cliquant sur le lien Modifier - il se trouve à gauche, en face de votre nom d'utilisateur et Gravatar. Il existe également une syntaxe appelée Markdown, qui vous permettra de modifier le formatage pour faciliter la lecture des choses.