求解一道sql语句的问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 02:19:54
某表有如下字段:

用户ID(id),买/卖(buy),商品ID(prod),数量(amount)

其中buy是bool类型,true表示买,false表示卖;同一用户可以多次买进卖出。
求写一个sql语句,列出那些买进数量大于卖出数量的用户。

select id from 表 group by id
having sum(case when buy=1 then amount else 0 end)>sum(case when buy=0 then amount else 0 end)
buy 1=TRUE,0=False

简单。
假设表名为table1,分组显示购买了物品的用户的用户ID和购买数量。
select id,count(amout) from table1 where amount>0 and buy=1 group by id