我想在case语句中对YN列中具有某些id和' Y'的值求和,因此我不能使用group by语法。请参阅下面的示例和我的代码:表T
ID Value YN
1 4 Y
1 6 Y
2 3 N
请求:
select
case when YN = 'Y'
then ( select sum(Value) from T group by ID)
else Value
end as TotalResult;
你能帮我展示Totalresult吗?
答案 0 :(得分:0)
仅仅因为您使用GROUP BY
并不意味着您必须在SELECT
中包含该列...
SELECT
SUM(Value) AS TotalResult
FROM
T
GROUP BY
ID, YN
=>
Total Result
--------------
10
3
然而,确切地说,您需要的查询是不清楚的,因为您没有清楚地证明您希望查询实际执行的操作,或者您的样本数据应该是什么样的预期结果。