大家都知道,如果我们现在要统计一些总和的时候,往往可以用
select sum(字段) as field1 from table
现在我的问题是:如果我用select * from table 
然后我要统计总和这个select的内容的莫个字段,也就是说要统计已经select的内容,有没有办法?
不要告诉我用循环:用while not eof do ,然后累加,这个最好不要。因为这个用起来会很慢的。除了这个,不知大家用没有其他办法,请指教!!!

解决方案 »

  1.   


    t1:=dataroom.Table1.RecordCount;
      

  2.   

    to  basai(晨峰)
    请你看清楚题目再回答!!!
      

  3.   

    老兄是的名字的确起得好,这样的问题只有再写一个 select 哈
    cds 可以用 TAggregates 计算, 但本质也是一个个记算, 记录多了也慢
      

  4.   

    呵,我倒是有专门的统计功能的模块,不管是talbe还是query都通吃,不过当然还是要把数据处理一下(但不是用sql语句),和你的要求不符。
    你的要求是已经select了,然后再处理,我就不信你用sql语句能行(如果不先存为文件,或者重新用sql但是在其中加上原来的select语句。)
      

  5.   

    with query1 do
    begin
      Close;
      SQL.Clear;
      SQL.Add('Select Pro_no,in_pcount,in_ptotal,sum(in_pcount),    sum  (in_ptotal) from  chk_io ');
      Open;
    end;
    这样就可以了。
      

  6.   

    中国人最聪明了!!
    ÷哈哈...
    你用while
    还不如在执行一次
    SQL语句呢!
      

  7.   

    现在问题是我里面有个计算字段,并不能够从sqlserver里面用select 
    sum(zje) from table 这句语句里面统计出来阿,因为sqlserver里面根本没这个字段
      

  8.   

    你为什么一定要用sql语言来完成
      

  9.   

    to ahuige(灰不遛秋)
    不用sql语言那用什么来实现呢?
      

  10.   

    计算字段只要有规则,sql也能实现。
    select sum(field1+field2) from table group by
      

  11.   

    计算字段值要有规则,也能用sql实现。
    select sum(field1*field2) from table group by field3
      

  12.   

    这样可以吗?
    Var
       Sum_number:Float;
    Begin
       Query1.First;
       While Not Query1.Eof Do
       Begin
          Sum_number:=Sum_number+Query1.FieldByName('字段名').AsFloat;
          Next;
       End;   
    End;
      

  13.   

    哦,上面的例子将Query1换成Table1