我有下表
# amount type
1 10 0
1 10 0
1 5 1
1 5 1
2 10 0
2 10 0
2 5 1
2 5 1
其中0表示现金,1表示类型列中的信用
问题是找到每个ID的现金使用和信用惯例以及总金额。
我正在寻找获得以下结果的查询
# cash credit total
1 20 10 30
2 20 10 30
如果有可能,我想使用一个查询
感谢
答案 0 :(得分:4)
SELECT id,
SUM(CASE WHEN type = 0 THEN amount ELSE 0 END) as "cash",
SUM(CASE WHEN type = 1 THEN amount ELSE 0 END) as "credit",
SUM(amount) as "total"
FROM your_table
GROUP BY id
答案 1 :(得分:2)
SELECT
num,
SUM(CASE WHEN type=0 THEN amount END) cash,
SUM(CASE WHEN type=1 THEN amount END) credit,
SUM(amount) total
FROM
yourtable
GROUP BY num
答案 2 :(得分:0)
select id,
sum(amount) as "total",
CASE WHEN type = 0 THEN amount ELSE 0 END as "cash",
CASE WHEN type = 1 THEN amount ELSE 0 END as "credit",
from table
group by id