Discuz教程网

请高手帮看一下这个count(*)函数怎么写,谢谢了!

[复制链接]
authicon sunzihao128858 发表于 2010-10-26 05:43:13 | 显示全部楼层 |阅读模式

创建表,并插入数据,
create table test(num int) ;
insert into test(num) values(1);
insert into test(num) values(2);
insert into test(num) values(4);
commit;
我的查询一语句是select  num, count(*) from test where num in (1,2,3,4) group by  num
结果是
SQL> select  num, count(*) from test where num in (1,2,3,4) group by  num;
                                    NUM   COUNT(*)
--------------------------------------- ----------
                                      1          1
                                      2          1
                                      4          1
我想要的结果是
                NUM   COUNT(*)
--------------------------------------- ----------
                                      1          1
                                      2          1
                                      3          0
                                      4          1
哪位高手知道这个结果的语句,怎么写,谢谢,急



上一篇:请问ORACLE删除归档保留7天的命令应该怎样写啊?
下一篇:oracle中 外键的问题
authicon cdma313 发表于 2010-10-26 06:09:32 | 显示全部楼层

我的select count(*) from test where num = 3 ; 可以得到结果0
authicon duolanshizhe 发表于 2010-10-26 06:57:25 | 显示全部楼层

这个好像有点难度啊
假设是多张表   倒是可以的通过外连接来实现的
authicon renxiao2003 发表于 2010-10-26 07:52:01 | 显示全部楼层

你的表里根本没有3,怎么查询出来啊。感觉比较有难度。
authicon doni 发表于 2010-10-26 08:33:34 | 显示全部楼层

问题在于,LZ要num=3时的count(*),那么是不是要num=5的呢?
authicon duolanshizhe 发表于 2010-10-26 09:05:39 | 显示全部楼层

这种需求太那个了  很难处理
authicon doni 发表于 2010-10-26 10:01:57 | 显示全部楼层

假设有范围的,还是可以做的,例如说1-100
  1. select b.* from
    (
    select rownum num from all_objects
    where rownum <=100
    ) a,
    (
    select  num, count(*) num_cnt from test where num in (1,2,3,4) group by  num
    ) b
    where a.num = b.num(+)
复制代码
authicon duolanshizhe 发表于 2010-10-26 11:16:59 | 显示全部楼层

恩 强
authicon zhzhs 发表于 2010-10-26 11:44:49 | 显示全部楼层

太变态了,不研究这个
authicon renxiao2003 发表于 2010-10-26 12:45:16 | 显示全部楼层

回复 7# doni
    强悍,不过我觉得楼主未必有这么好的范围。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 16:16

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表