一句sql:
表bill,主键id,假设共四条记录如下:
id customerId billNo state
1 aaa 0001 1
2 bbb 0002 0
3 aaa 0003 0
4 ccc 0004 1
要求查询每个客户的所有bill数量、状态为1的bill数量和他占的比例,期望结果为
customerId allBill successBill successRate
aaa 2 1 50%
bbb 1 0 0%
ccc 1 1 100%
用一个sql,实际数据量大,尽量简洁高效。谁会啊麻烦指点一下
表bill,主键id,假设共四条记录如下:
id customerId billNo state
1 aaa 0001 1
2 bbb 0002 0
3 aaa 0003 0
4 ccc 0004 1
要求查询每个客户的所有bill数量、状态为1的bill数量和他占的比例,期望结果为
customerId allBill successBill successRate
aaa 2 1 50%
bbb 1 0 0%
ccc 1 1 100%
用一个sql,实际数据量大,尽量简洁高效。谁会啊麻烦指点一下
解决方案 »
- 关于ORACLE的学习问题
- 数据库启动不了,急!急!
- ORA-01424:转义字符之后字符缺失或非法
- sql.pno问题
- oracle9i中sqlloader的问题:无效数据
- powerdesigner中联合主键可以为空如何设置
- oracle wrap
- 救命!!!IMP命令发生ORA-12154: TNS: 无法处理服务名的错误
- Oracle自带的Servlet Engine占用我的8080端口,导致我tomcat起不来,增样去掉它!
- 视图用了一段时间不好用需重建否则不能用,在线.
- oracle 致命的双工通信协议错误
- 在 RedHat 5(32位) 下 安装 Oracle Application Server 10g
, count(billNo) allBill
, sum(case when billNo = 1 then 1 else 0 end) successBill
, 100% * sum(case when billNo = 1 then 1 else 0 end)/count(billNo) successrate
from tablename
group by customerId;
count(1)