用sql怎么实现数据统计?

在一个bill表中有字段userid,billtype(0-收入,1-支出),amount(金额).现在我想要根据userid统计一下总收入与总支出,应该怎么写sql语句呢?

最好能在一条sql语句中完成所属的操作,同时能考虑到sql语句的高效性。我用的是oracle数据库

谢谢帮助!

 


问题补充:


很感谢两位的关注,或许我没有表述清楚自己的意思。我是想要查询的结果只有一行,在这一行中同时包括总收入和总支出,而不是两行结果。例如,
select count(amount) totalincome,count(amount) totalpayout from...这样的形式实现。否则,我在提取总收入和总支出数据的时候还要再判断一次哪个是总收入,哪个是总支出。
这样的想法很难实现吗
问题补充:
to huangnetian:

采用子查询在效率怎么样呢,会不会得不偿失?

5个回答

子查查询效率不高,最好少用.毕竟性能第一嘛.

select sum(amount) from bill order by billtype group by billtype

select sum(amount) from bill group by billtype order by billtype

上面那个有问题,请用这个
select sum(amount) from bill group by userid,billtype

如果非要用一条sql实现你的需求的话,你只有改表字段了,把billtype去掉,把收入和支出拆成两个字段

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐