1 按姓名过滤后 , 循环adoqeury ,做加法运算 .2. 再写一条sql语句 , select 姓名,sum(成绩) from sjk group 姓名
select sum(成绩)as 总成绩,姓名 from sjk group by 姓名
建议你用分组统计 Select Sum(成绩),姓名 From sjk Group By 姓名
梦一场 for I := 0 to query.recordcount -1 do begin query.first; while (query.fieldbyname('姓名').asstring = '1') and (not query.eof) do query.next; if query.eof then break; ss[i].name := query.fieldbyname('姓名').asstring; query.fieldbyname('姓名').asstring := '1'; ss[i].output:= query.fieldbyname('成绩).AsFloat; while query.eof do begin query.next; if ss = query.fieldbyname('姓名').asstring then begin ss[i].output:= ss[i].output + query.fieldbyname('成绩).AsFloat; query.fieldbyname('姓名').asstring := '1'; end; end; end;
Select Sum(成绩),姓名 From sjk Group By 姓名
for I := 0 to query.recordcount -1 do
begin
query.first;
while (query.fieldbyname('姓名').asstring = '1') and (not query.eof) do
query.next;
if query.eof then break;
ss[i].name := query.fieldbyname('姓名').asstring;
query.fieldbyname('姓名').asstring := '1';
ss[i].output:= query.fieldbyname('成绩).AsFloat;
while query.eof do
begin
query.next;
if ss = query.fieldbyname('姓名').asstring then
begin
ss[i].output:= ss[i].output + query.fieldbyname('成绩).AsFloat;
query.fieldbyname('姓名').asstring := '1';
end;
end;
end;