各位高手:我用query控件查询的结果用DBGRID显示了,但我又想要这个查询结果某一字段的的合计数,一定要再用一个query控件再SQL一遍吗?能对SQL结果直接进行操作吗?
解决方案 »
- OPENDATASOURCE 程序片段运行出错请指点
- 三层 adoconnection 问题
- Unit RzCommon was compiled with a different version of Graphics.clMenuBar
- Sockets问题?
- 一个关于文本写入的问题!!
- 如何限制一個.exe(如:123.exe)在電腦中可運行的個數.如只可運行兩個123.exe
- 我想教delphi的朋友(QQ:757527)
- 哪一位有FastNet for Delphi5 的补丁?或从什么地方可以下载?
- 寻找数据导入导出控件
- 如何在NT下关机?
- 关于打印的问题
- 连接时没有当前记录,怎么办?
不一定有!
用select * union select fielda,fieldb,...,sum(fieldk),...fieldn from table
显示结果为:
品种 数量
A 115
B 110
C 20
我想再显示:总数量为 245
一定要再查询一次,GROUP BY?
能否GROUP BY现在的显示结果?
union
select '',sum(f2),sum(f1) from tbl
其中sum的字段数对应前一条sql中的字段数,如果某字段不要sum可用''代替
这是我的代码,我想再要一行总计,怎么实现好?
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;
(select 品种,数量 from a1)
union
(select '合计',sum(数量) as 数量 from a1)
(select 品种,数量 from a1)
union
(select '合计',sum(数量) as 数量 from a1)