请教一下关于数据库查询和统计这些语句该怎么写!谢谢,在线等!(70分)

  • 主题发起人 主题发起人 cameroanthony
  • 开始时间 开始时间
C

cameroanthony

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大哥,今天我做数据统计的时候有点问题,希望各位指点一下.不甚感激!!
1:我想对数据库进行一个操作,就是统计表里所有记录的某一字段值的和,比如;
A B C
1 2 3
4 1 3
4 2 3
我想统计A字段里的所有记录的和,就是1+4+4=9,然后把和显示在EDIT4.TEXT里面.
如果我想统计B字段里所有值为2记录所有A字段的和,那么就是1+4=5

情况就是这样,希望各位伸出援助之手啊!
附我的代码:
var
ADOdataset9:Tadodataset;
result,cpbh,gongh:integer;
banci,mingzi:string;
begin
ADOdataset9:=TAdoDataset.Create(self);
ADOdataset9.Connection:=ADOConnection4;
ADOdataset9.CommandType:=cmdtext;
ADOdataset9.CommandText:='select * from main where 班次=:banci';
ADOdataset9.close;
ADOdataset9.Parameters.Clear;
ADOdataset9.Parameters.AddParameter;
ADOdataset9.Parameters[0].name:='banci';
ADOdataset9.Parameters[0].DataType:=ftstring;
ADOdataset9.Parameters[0].Direction:=pdinput;
ADOdataset9.Parameters[0].Value:=form4.Edit4.Text;
///接下来该怎么写我就不清除了,比较郁闷,希望各位指点一下!
 
select c.a as total,b.a as num , d.b from
(SELECT sum(A) as a ,b FROM 表 Group by B) d,
(select sum(A) as a FROM 表)c
 
谢谢!!!!
请问能解释一下这个语句吗?
另外将查询后的结果如何显示出来呢?
adodataset9.??????????
这个该怎么写呢?
 
其实是将两次分组合并了,不提倡这样,如果多了是很麻烦的
select sum(A) as a FROM 表
SELECT sum(A) as a ,b FROM 表 Group by B
 
寫存儲過程咯
 
谢谢,如果用这样的语句,那么当sum(A)这个事件不存在的时候怎么办呢?还成立吗?
比如可选择搜索字段A或者选择搜索字段B,也可能选中搜索A并且搜索B,这样的情况怎么处理?能不能像ASP里面的先写一个select sun(*) FORM MAIN where 1=1;
然后再把where后面的条件加上去,选择搜索B=2的 ,就把 B='2'添加到上面的语句里.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
645
import
I
后退
顶部