初次用数据库,只是简单建个表应用,建了一个表,并导入数据,现在想查询一段时间内出现次数大于某个数值的个数
create table gupiao(
date_id varchar2(12),
code       number(6),
name       varchar2(20),
hangye     varchar2(80),
hangye_s   varchar2(40),
district   varchar2(20),
times     number(4),
price      number(12,2),
chengjiao      number(12,2),
chengjiao_avg number(12,2),
scale number(8,2))插入的数据是:
2010-6-28 521 美菱电器  电器机械及器材制造业 家庭用品 安徽 1 10.2 101.96 101.96 3.84
2010-6-28 2221 东华能源  批发和零售贸易 石油与天然气生产 江苏 1 10.17 116.63 116.63 3.65
2010-6-28 2221 东华能源  批发和零售贸易 石油与天然气生产 江苏 1 10.17 116.63 116.63 3.68
现在若想2221出现两次,选择想用count(code)>1实现,并最终实现分组,如何处理?建表时没有涉及参数,望帮忙,谢谢!SQL> select code,name,date_id from gupiao group by code;
select code,name,date_id from gupiao group by code
            *
ERROR 位于第 1 行:
ORA-00979: 不是 GROUP BY 表达式SQL> select code,name,date_id from gupiao where count(code)>3;
select code,name,date_id from gupiao where count(code)>3
                                           *
ERROR 位于第 1 行:
ORA-00934: 此处不允许使用分组函数

解决方案 »

  1.   

    select code,name,date_id,count(code) from gupiao group by code,name,date_id having count(code)>3;
      

  2.   

    二楼语句查询无结果,是不是建表时应该指定一些参数?
    SQL> select count(*) from gupiao;  COUNT(*)
    ----------
          1604 select code from gupiao group by code;
        601678
        601877      CODE
    ----------
        601888已选择540行。SQL> select code,name,date_id,count(code) from gupiao group by code,name,date_id
     having count(code)>1;未选定行
      

  3.   

    这个分组 统计   只能查询分组列 和统计结果  像你所说的   就只能查询 code 和count()  还要查询name的话 就出现语法错误了  如果要查询  就作为分组条件  这里当然要看你需要了    要不是就得想其他办法
      

  4.   

    你可以看下不加count(code)>1这个条件时,会出现什么样记录,分析下,是不是你数据库里的数据就没符合的
      

  5.   


    select code, name, date_id
    from gupiao
    where code in
    (
    select code
    from gupiao
    group by code
    having count(code) > 3
    );
      

  6.   

    select code, name, date_id
    from gupiao g1
    where exists
    (
        select 1
        from gupiao g2 where g1.code=g2.code 
        group by g2.code
        having count(g2.code) > 3
    );
      

  7.   

    问题解决,虽然不太明白原理,但谢谢5楼,6楼给的解决方案!也感谢其他朋友。
    那些原始数据我在我的资料里上传了个dmp文件,有玩股票的可以看一下,只是下载时,会扣1分,呵呵。结贴!;)