我分组搜索每组的个数,但如果个数是0的话为什么就不显示出来的了
怎样让个数为0的也,显示出来.
如
时间 个数
2003-1 2
2003-3 3
2月个数为0 就不显示了,怎么解决??
问题点数:20、回复次数:18Top
1 楼wylwyl1130(落雪山林)回复于 2004-08-03 13:58:57 得分 0
count()不计算null
select count(nvl(字段,0)) from table_name group by字段Top
2 楼philipsslg(刮开中大奖(█))回复于 2004-08-03 14:02:52 得分 0
好像不行啊,编都编不通了!!Top
3 楼jxc(GameHeart)回复于 2004-08-03 14:03:00 得分 0
表里没有数据,怎么可能分组出来呢?Top
4 楼philipsslg(刮开中大奖(█))回复于 2004-08-03 14:04:22 得分 0
那怎么办???Top
5 楼philipsslg(刮开中大奖(█))回复于 2004-08-03 14:05:04 得分 0
我想让2月显示0,有办法吗???Top
6 楼jxc(GameHeart)回复于 2004-08-03 14:10:21 得分 0
你先保证你查询出的结果集包括2月份的记录,分组就没有问题了.
这就涉及到外关联一个月份表的技术了,假如t2是个月份表(包含12个月)
select to_char(t1.rq,'yyyy-mm')
from t1,t2
where to_char(t1.rq,'yyyy-mm') (+)= to_char(t2.rq,'yyyy-mm')Top
7 楼philipsslg(刮开中大奖(█))回复于 2004-08-03 14:11:12 得分 0
没人有办法,我已经连发三次了,再不帮我,我就沉下去了!!!Top
8 楼bzszp(SongZip)回复于 2004-08-03 14:17:41 得分 0
select tt.coldate, nvl(tt.snum,0) from
(select rownum id from all_source where rownum<12) t,
(select coldate,sum(num) snum from tbname group by coldate) tt
where t.id=to_char(coldate,'mm')(+);
Top
9 楼bzszp(SongZip)回复于 2004-08-03 14:18:08 得分 0
select tt.coldate, nvl(tt.snum,0) from
(select rownum id from all_source where rownum<=12) t,
(select coldate,sum(num) snum from tbname group by coldate) tt
where t.id=to_char(coldate,'mm')(+);Top
10 楼dinya2003(OK)回复于 2004-08-03 14:22:06 得分 0
根本就没记录, 所谓的空不等于零. 如果想实现必须加条件.Top
11 楼philipsslg(刮开中大奖(█))回复于 2004-08-03 14:24:22 得分 0
我是给定一个起始时间和结束时间然后在这段时间内按月分组,搜索人的个数,可是没有2月份的记录,怎么让二月份,显示为0 个??Top
12 楼philipsslg(刮开中大奖(█))回复于 2004-08-03 14:25:44 得分 0
bzszp 呢??? 昨天好像也是你帮我的???
你信誉超过100,怎么超过去的??Top
13 楼bzszp(SongZip)回复于 2004-08-03 14:26:29 得分 20
知道你的意思 晕~
你吧
select coldate,sum(num) snum from tbname group by coldate
换成你的语句就行了
Top
14 楼philipsslg(刮开中大奖(█))回复于 2004-08-03 14:33:11 得分 0
还是不行,加不加snum 一样的..Top
15 楼philipsslg(刮开中大奖(█))回复于 2004-08-03 14:44:52 得分 0
Oracle 帮助好像很差,连查 snum 有什么作用都不行...Top
16 楼bzszp(SongZip)回复于 2004-08-03 14:52:09 得分 0
老兄,snum是随便起了一个别名而已
不行可以找你的同事帮你修改Top
17 楼philipsslg(刮开中大奖(█))回复于 2004-08-03 15:12:32 得分 0
那你还是没有帮我解决问题啊,这样二月份如果没有数据的话0还是不会显示的.Top
18 楼philipsslg(刮开中大奖(█))回复于 2004-08-03 15:15:14 得分 0
我同事说搜不出来,直接在程序上判断算了.Top




