我想在sql中根据年月统计几个数据的个数:select ny,count(a),count(b),sum(c) from a_1 where (to_char(rq,'yyyymm) between '200101' and '200801' ) group by ny我想直接得到在不同年月下的数据count(a)、count(b)、sum(c);我的问题:
我想得到的count(b)数据是>=0的数据,不包括空数据项和0
也是就说我想得到的count(b)的数据个数中,数据都是>=0 在oracle中有没有这种用法??这么实现???
我想得到的count(b)数据是>=0的数据,不包括空数据项和0
也是就说我想得到的count(b)的数据个数中,数据都是>=0 在oracle中有没有这种用法??这么实现???
解决方案 »
- oracle存储过程中is和as到底有哪些区别?
- oracle快速恢复区flash_recovery_area里的controlxx.ctl内容为什么总是最新的?
- 函数返回结果集与dblink问题!
- 视图的字段问题
- 请问哪里有 小性机 +linux +oracle 的配置方案?
- 关于Oralce 8i系统中恢复数据库的问题。
- Oracle 10g 服务器 服务名 的配置 问题
- oracle Job问题
- 请教sql语句一条,急急急!
- oracle 函数里如何根据传递进来的参数声明变量
- 无法从Windows上登录linux下的oracle9i oms server???
- oracle里面使用左联接有连接的时候,我设计到多张表,问一下我该怎么写sql语句啊
假设你的b的字段类型是varchar2;
count()的时候会去掉null的,现在只需要去除0count(b,'0',null,1)
count( decode(b,'0',null,1) )
用的count(CASE WHEN B IS NULL THEN 0 WHEN B <=0 THEN 0 ELSE 1 END) 解决的。
对count( decode(b,'0',null,1) )数据不是很准确,还有点疑问,关键是不知道四个参数的用法