如果我想创建一个将列值存储到一个新列中的case语句,那么在没有多个case语句的情况下如何做到这一点?
ID | Amount
B 200
W 300
B 300
W 20
等等。
是否应该按ID和该ID的金额总和进行分组?是否有一个新列将它们归入一个类别,但在一种情况下是语句?
ID | Amount | Bucket
B 600 >= 500
W 320 >=0 and <=500
感谢
你可以做:
select id, sum(amount) as amount,
(case when sum(amount) >= 0 and sum(amount) < = 500
then '>= 0 and <= 500'
when sum(amount) > 500
then '> 500'
end) as Bucket
from table t
group by id;