delphi 班级相同成绩累加

来源:百度知道 编辑:UC知道 时间:2024/05/15 16:35:55
没有指定那个班级的
select 成绩 group by 班级 where条件
这样对吗

你在代码里设个ClassSum:integer然后从数据库读数据么,select from where条件里写班级,然后ClassSum+=FieldByName('XXXX').AsInteger;就OK了

var clsum,str,i,j:integer;
begin
adoquery1.close;
adoquery1.clear;
adoquery1.sql.add(select * from table1)
adoquery1.open;
if adoquery1.recordcount >0 then
begin
for i:=0 to adoquery1.recordcout -1 do
begin
s:=adoquery1.fieldbyname('成绩').asInteger;
adoquery2.close;
adoqeury2.clear;
adoquery2.sql.add ('select * from table1 where 成绩='+'''+s+''' );
adoquery2.open;
if adoquery2.recordcount >0 then
begin
for j:= 0 to adoquery2.recordcunt -1 do
begin
clsum:=clsum+adoquery2.fieldbyname('成绩').asinteger;
end;
end;
end;
end;
end;

挺笨的方法,希望有用,没有调试随手写写。

只需要一条SQL语句即可:
select sum(成绩) from 表名 where 条件 group by 班级