我有一个要求,在进行求和时过滤一个特定的行。表结构和数据如下。 有条件的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