各位高手:我用query控件查询的结果用DBGRID显示了,但我又想要这个查询结果某一字段的的合计数,一定要再用一个query控件再SQL一遍吗?能对SQL结果直接进行操作吗?

解决方案 »

  1.   

    可以当一个增强了的DBGrid控件,网上很多,你还可以到http://soucesoft.126.com看看
    不一定有!
      

  2.   

    可以阿
    用select * union select fielda,fieldb,...,sum(fieldk),...fieldn from table
      

  3.   

    楼主,再执行一次比较好,而且你可以释放你的资源,如果数据量大的话你就不该把数据一次性显示在DbGrid中而且query也不应该获取所有数据
      

  4.   

    比如:
    显示结果为:
    品种  数量
    A      115
    B      110
    C       20
    我想再显示:总数量为 245
    一定要再查询一次,GROUP BY?
    能否GROUP BY现在的显示结果?
      

  5.   

    建一个计算字段TAggregate for Data,在字段属性Expression设置好Sum(field1)
      

  6.   

    我用的动态SQL,怎么加计算字段TAggregate for Data?
      

  7.   

    select f1,f2,f3 from tbl
    union
    select '',sum(f2),sum(f1) from tbl
    其中sum的字段数对应前一条sql中的字段数,如果某字段不要sum可用''代替
      

  8.   

    或用高级的dxdbgrid、ehlib都不错
      

  9.   

    计算字段TAggregate for Data在哪里啊,朋友???帮帮我~~~~~~~~~~~
      

  10.   

    DBGRID没有加一行总计的功能吧??
    这是我的代码,我想再要一行总计,怎么实现好?
    begin
     query1.Active:=false;
      v_msbh:=edit1.text;
      v_rq1:=strtodate(maskedit1.text);
      v_rq2:=strtodate(maskedit2.text);
     with query1 do
     begin
       sql.Clear;
     
       sql.add('select');
       sql.add(' f_xsh,');
       sql.add('f_mys,');
       sql.add('f_sys,');
      
       sql.add('f_zcs,');
       sql.add('f_dbrq,');
       sql.add('f_rate ');
       sql.add('from "C:\dzxt\DZ\temp_jh.dbf"');
       sql.add('WHERE f_msbh=:vv_msbh AND f_dbrq>:vv_rq1 and f_dbrq<=:vv_rq2');  end;
     
      query1.params[0].asstring:=v_msbh;
      query1.params[1].asdate:=v_rq1;
      query1.params[2].asdate:=v_rq2;
      query1.Active:=true;    //执行查询
      showmessage('查询执行成功!');
      
    end;
      

  11.   

    我想要f_mys的总数,不是记录数,怎么好?
      

  12.   

    Tiack(泰克) 的方法可以实现,你试一下!
      

  13.   

    http://expert.csdn.net/Expert/topic/2270/2270627.xml?temp=.90823
      

  14.   


    (select 品种,数量 from a1)
    union
    (select '合计',sum(数量) as 数量 from a1)
      

  15.   


    (select 品种,数量 from a1)
    union
    (select '合计',sum(数量) as 数量 from a1)