我有一個要求,在進行求和時過濾一個特定的行。表結構和數據如下。 有條件的WHERE條件SQL腳本
我想除了行WHERE [Reason] = 'Order Placed' AND [No Of Month Old] = 1
之外的所有行的列值爲[Gain/Lost]
。
以下情況下的值將爲-560。
我有一個要求,在進行求和時過濾一個特定的行。表結構和數據如下。 有條件的WHERE條件SQL腳本
我想除了行WHERE [Reason] = 'Order Placed' AND [No Of Month Old] = 1
之外的所有行的列值爲[Gain/Lost]
。
以下情況下的值將爲-560。
你用英語描述你的條件不錯 - 現在你只需要編寫同樣的事情在SQL:
SELECT SUM([Gain/Lost]
FROM mytable
WHERE NOT ([Reason] = 'Order Placed' AND [No Of Month Old] = 1)
SELECT UserID,
SUM(CASE WHEN [Reason] = 'Order Placed' AND [No Of Month Old] = 1
THEN 0
ELSE [Gain/Lost]
END)
FROM tt
GROUP BY UserID
select userid, sum([Gain/Lost])
from tablename
where [Reason] <> 'Order Placed'
or [No Of Month Old] <> 1
group by userid
SELECT SUM([GAIN/LOST]) as 'Gain/Lost'
FROM YourTable yt
WHERE REASON <> 'Order Placed' AND [No of Month Old] <> 1
GROUP BY UserID
爲什麼HAVING子句沒有集合函數?改爲使用WHERE。另外,它不應該是'[舊月沒有] <> 1'嗎? – jarlh
你有3個排,「下訂單」? – christiandev
你到目前爲止嘗試過什麼?似乎所有你需要做的是添加WHERE子句? –
是的。只想省略滿足條件的第一行。 – user1926138