对一个表进行分组统计,可是统计的数却是以累加的形式的,和D5的DEMO不一样。请各位帮帮忙(100分)

  • 主题发起人 主题发起人 liangguowei
  • 开始时间 开始时间
L

liangguowei

Unregistered / Unconfirmed
GUEST, unregistred user!
我要对一表进行分组统计:比如Tbl_stu(name,addr,class,num1,num2)
以(name,addr,class)进行分组,统计每一组中的(num1,num2)。我用到了
两个query进行主细表查询,用一个QrGroup进行分组(tbl_stu.name+tbl_stu.addr+tbl_str_class)。
用一个SubDetail显示(num1,num2),用一个Detail显示(name,addr,class),
可是,我在SubDetail的FootBand中显示Sum(num1)和Sum(num2)却是以累加的
形式来统计的,这和我想以分组来统计不一样。
(我参考了D5中的Demo,还是不行)
如何是好?
如方便的话,谁能帮我看看这段程序?
 
select distinct name,addr,class,sum(num1) as snum1,sum(num2) as snum2
from ...
 
To hhzh426:
我不太明白你这一SQL语句的意思,
我用的MasterSql句为:select name,addr,class from tbl_report group by name,addr,class
    
DetailSql句为:SELECT * FROM tbl_report i
          WHERE (i.name =:name and i.addr=:addr and i.class=:class)
          ORDER BY name,addr,class
 你看有什么问题吗?
 
 
你统计每一组中的(num1,num2)不要让程序来计算,而是让sql来计算。
MasterSql句为:
select name,addr,class,sum(num1) sum1,sum(num2) num2
from tbl_report group by name,addr,class
    
DetailSql句为:SELECT * FROM tbl_report i
       WHERE (i.name =:name and i.addr=:addr and i.class=:class)
       ORDER BY name,addr,class
这样算出来来的结果肯定符合要求的!
 
后退
顶部