这是表格:
ID TYPE AMOUNT
-- ---- ------
1 sell 50
1 sell 100
1 buy 200
2 sell 50
2 buy 100
如何编写返回以下结果的SQL查询:
ID TOTAL
-- -----
1 50
2 50
我想我需要group by id
,但我不确定如何做"减去"在"出售"的。
我的数据库是oracle,顺便说一句。
由于 此致
答案 0 :(得分:2)
答案很简单。
SELECT id, SUM(
CASE type
WHEN 'Buy' THEN amount
WHEN 'Sell' THEN -amount
END
) AS TOTAL
FROM tbl
GROUP BY id
答案 1 :(得分:1)
这应该有效,
select "id",sum(decode(type,'sell',-"amount","amount")) total
from table1
group by "id"