我想将rksl这一列求和,代码如下:
adoquery1.close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select rksl,je,sum(rksl) from rk ');
adoquery1.Open;
运行报错:
“在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句。”
我该如何写呢?不用分组,查询出来后通过sum自动求和

解决方案 »

  1.   

    'select rksl,je,(select sum(rksl) from ) rksl  from rk '
      

  2.   

    select rksl,je,(select sum(rksl) from rk  ) rksl  from rk 
      

  3.   

    通常SQL的计算函数都是“独立”写在一个SQL查询语句,所以你这样可能会报错。
    2.3;楼的可能已经解决这个问题了
      

  4.   


    select rksl,je,sum(rksl) from rk group by je, rksl
      

  5.   

    var
       rksl:Real;
    begin
        adoquery1.close;
        adoquery1.SQL.Clear;
        adoquery1.SQL.Add('select rksl,je,rksl=sum(rksl) from rk ');
        adoquery1.Open; 
    end;
      

  6.   

    var
      rksl:Real;
    begin
        adoquery1.close;
        adoquery1.SQL.Clear;
        adoquery1.SQL.Add('select je,rksl=sum(rksl) from rk ');
        adoquery1.Open;
    end;