没有group by语法的特定条件的每个id的和值

时间:2018-03-29 14:35:12

标签: sql oracle

我想在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吗?

1 个答案:

答案 0 :(得分:0)

仅仅因为您使用GROUP BY并不意味着您必须在SELECT中包含该列...

SELECT
  SUM(Value)    AS TotalResult
FROM
  T
GROUP BY
  ID, YN

=>

 Total Result
--------------
      10
       3

然而,确切地说,您需要的查询是不清楚的,因为您没有清楚地证明您希望查询实际执行的操作,或者您的样本数据应该是什么样的预期结果。