ORACLE CASE WHEN分类
来源:互联网 发布:一米七标准体重知乎 编辑:程序博客网 时间:2024/05/20 03:45
当需要统计一个表中的不同状态的记录数,这时候可以用到CASE WHEN。
select decode(status,'0','成功','1','失败') status count(status),sum(case when status=0 then 1 else 0 end) as success,
sum(case when status=1 then 1 else 0 end) as error from tabletest group by status;
举例:
select nvl(t.count,0) count,nvl(t.successcount,0) successcount,nvl(t.errorcount,0) errorcount,tspc.linkman linkman,tspc.service_provider_name name from TS_SERVICE_PROVIDER_CONTACT tspc left join (select tssl.serviceprovider sid, count(tssl.serviceprovider) count,sum(case when tssl.errorcode=0 then 1 else 0 end) as successcount,sum(case when tssl.errorcode>0 then 1 else 0 end) as errorcount from t_sms_send_log tssl where tssl.serviceprovider is not null and to_char(tssl.calltime,'yyyy/mm/dd')=to_char(trunc(sysdate)-1,'yyyy/mm/dd') group by tssl.serviceprovider ) t on t.sid=tspc.service_provider_id where tspc.status=0;
当需要将不同行归并为一行的时候,也能使用case when
select max(name1) name1,max(name2) name2 from (
select case when id=1 then name end as 'name1',
case when id=2 then name end as 'name2'
)
- ORACLE CASE WHEN分类
- oracle case when 用法
- Oracle case when 用法
- Oracle case when用法
- oracle case when
- Oracle-CASE WHEN使用
- oracle case when 用法
- oracle case when 用法
- oracle case when 用法
- Oracle case when用法
- oracle case when
- oracle case when用法
- oracle case when 用法
- case when oracle
- oracle case when exists()
- oracle中的case when
- oracle case when then
- oracle case when then
- PHP Date()函数详细参数
- (一)线程的创建和启动--java 多线程编程的那点小事
- 指针交换两个变量
- nor Nand and Onenand flash区别总结
- Big Endian和Little Endian的区别
- ORACLE CASE WHEN分类
- simhash
- 判断变量是否存在(python)
- Android 通过反射打开与关闭数据连接
- 第77天的交易(2013-8-9)(-50)(-152.57)(数据单总盈利:-108.65)
- poj 3259
- 怎样在pb里实现无标题栏
- 强大的stringstream
- 备份和还原 IIS