在vb中我想把下面的语句通过字段reportid分组,我用的是ACCSESS数据库的
DataQuery.RecordSource = "select * from paper where papernum>=" & Val(PaperNum(0).Text) & " and papernum<=" & Val(PaperNum(1).Text) & " and paperkind=0 and state=1"我上面的语句是对的我写的分组语句是这样的,就是在上面的语句加了group by
DataQuery.RecordSource = "select reportid,reporttitle from paper where papernum>=" & Val(PaperNum(0).Text) & " and papernum<=" & Val(PaperNum(1).Text) & " and paperkind=0 and state=1 group by reportid"但是什么都查 不出来。是不是我下面的语句不对,还是在vb用group by有别的写法???
我是vb新手

解决方案 »

  1.   

    不是的,你用group by没错的
      

  2.   

    group by reportid,reporttitle
      

  3.   

    试试:
    DataQuery.RecordSource = "select reportid,reporttitle from paper where ( papernum >= " & Val(PaperNum(0).Text) & " and papernum <= " & Val(PaperNum(1).Text) & " and paperkind=0 and state=1 ) group by reportid"有没有什么报错信息?
      

  4.   

    报错信息:
      试图执行一个合计函数中不包含特定表达示'reporttitle'的查询
      

  5.   

    查询结果中连聚合函数都没用,不知你为什么用Group BY
      

  6.   

    group by是分组统计用的
    比如说以下表s
    class     
    1          79
    1          80
    1          81
    2          80
    2          60
    ...要算1班的平均分:
    select class,avg() from s group by class
    得到结果就是
    class    avg()
    1         80
    2         70
    ...象楼主的sql,有group by 却不知道统计哪个字段,用group by 有什么用呢?
      

  7.   

    你连问题都表述不清楚,从你的语句中,根本看不出你有什么意图!怎么给你答案啊?
    给你几个个Group BY的示例用法,这几个用法的语法应该没问题,但未必是你希望的统计结果。
    1、
    select reportid,reporttitle,Count(*) As Num from paper where papernum>=" & Val(PaperNum(0).Text) & " and papernum<=" & Val(PaperNum(1).Text) & " and paperkind=0 and state=1 group by reportid,reporttitle2、
    select reportid,reporttitle,Sum(papernum) As Num from paper where papernum>=" & Val(PaperNum(0).Text) & " and papernum<=" & Val(PaperNum(1).Text) & " and paperkind=0 and state=1 group by reportid,reporttitle3、
    select reportid,reporttitle,Max(papernum) As Num from paper where papernum>=" & Val(PaperNum(0).Text) & " and papernum<=" & Val(PaperNum(1).Text) & " and paperkind=0 and state=1 group by reportid,reporttitle
      

  8.   

    如果用了group by 那么select的字段一定要是group by中的字段或其他字段的统计值,
    所以应该是select reportid,reporttitle,sum(XXX) as xxxsum from table group by reportid,reporttitle
      

  9.   

    字段名 reporttitle 写错了,确定有 reporttitle 或用 * 代替