select dm,bm,sum(a1) from czbtem group by bm
//or
select sum(a1) from czbtem group by bm

解决方案 »

  1.   

    select dm,bm,sum(a1) from czbtem group by dm,bm
    //                                        ~~~~~ 
    //or
    select sum(a1) from czbtem group by bm 
      

  2.   

    分组时,显示字段必须已经出现在分组字段中
    select <显示字段>,sum() as <计算字段>
    from 
    group by <分组字段>
      

  3.   

    若在SQL使用了分组字句,则SELECT子句中的所有字段要用分组函数(如Sum、Avg等)或是分组子句中包括的字段,你刚才的SQL应为
    SELECT SUM(a1) from czbtem GROUP BY bm
      

  4.   

    都试过了,还是不行,不过数据库中有dm,dw,bm,a1,a2,....a13,mz,bz,data共有19个字段,是不是都要写上去呢,只有其中的a1,a2,....a13是数值型的,其它都是字符型的,我主要是想按照bm(部门)对a1,a2,....a13进行汇总。
    再请看看,多谢了!
      

  5.   

    SELECT SUM(a1),SUM(a2),…… FROM czbtem GROUP BY bm 
      

  6.   

    我用的是paradox设计的数据库,如czbtem.db,这种数据库的分组SQL应该怎么写呢,我按照SQL书上介绍的去做还是不行,不过书上介绍的太短了,只有几行字,对我这样初学者只有请教你们大师了。
      

  7.   

    按下面写法出错是:Query1:filed "dm" not found
    query1.sql.add('selectsum(a1),sum(a2),sum(a3),sum(a4),sum(a5),sum(a6),sum(a7),sum(a8),sum(a9),sum(a10),sum(a11),sum(a12),sum(a13) from czbtem group by bm');按下面写法出错是:When GROUP BY exists,every simple field in projectors must be in GROUP BY...
    query1.sql.add('select dm,dw,dm,sum(a1),sum(a2),sum(a3),sum(a4),sum(a5),sum(a6),sum(a7),sum(a8),sum(a9),sum(a10),sum(a11),sum(a12),sum(a13) from czbtem group by bm');
      

  8.   

    select A.dm,B.SumValue 
    from Czbtem A,
         (select Bm,sum(a1) from czbtem group by bm) B
    where A.Bm = B.Bm
      

  9.   

    我是按照下面的写法,还是出错,错误信息如下:
    Invalid use of keyword
    Token:select
    Line Number:1
    请问我应该怎么改,谢谢了!
    procedure TForm1.Button41Click(Sender: TObject);
    begin
     with query1 do begin
      close;
      sql.clear;
      sql.add('select A.dm,B.SumValue from Czbtem A,(select Bm,sum(a1) from czbtem group by bm) B where A.Bm = B.Bm');
      open;
     end;
    end;
      

  10.   

    select A.dm,B.SumValue from Czbtem A,(select Bm,sum(a1) SumValue  from czbtem group by bm) B where A.Bm = B.Bm'