后台用C#,前台用ASP.NET。想实现各个班成绩分布的人数统计
我从数据库中已经拿到了:学生(S1,S2,S3,...)-班级(Group1,2,3,...)-成绩(A,B,C),放到了DataGrid1中,现在想在DataGrid中显示统计情况。DataGrid1的数据:
学生   班级   成绩
S1    Group1    A
S2    Group1    B
S3    Group1    A
S4    Group1    C
S5    Group2    A
S6    Group2    A
S7    Group2    C
S8    Group2    B
S9    Group2    C
S10   Group3    A
S11   Group3    B
S12   Group3    A
......想在DataGrid2显示的数据:
Group    A   B   C  Total
-------------------------
Group1   2   1   1   4
Group2   2   1   2   5
Group3   2   1   0   3
注:就是说统计出各个班得A、B、C的人数,和班级总人数。哪位大哥大姐帮帮俺吧,谢谢了。

解决方案 »

  1.   

    你在OnItemBound事件里统计总数,最后输出就可以了。
      

  2.   

    Zorou能不能说的详细点,最好能给段代码,我实在是菜的很。谢谢了
      

  3.   

    Group,Total字段好说,建议楼主自己把统计结果放在一个datatable里
      

  4.   

    写个sql 语句把统计放在ds里用DataGrid2 绑定
      

  5.   

    select count(班级) as Group  sum(case when  成绩='A' then 1 else 0 end ) as A from 表
    group by bj
      

  6.   

    其余统计B   C  Total 照着写就好了
      

  7.   

    果果,我根据您的sql写了一下:select 班级, sum(case when scroe='A' then 1 else 0 end) as A, sum(case when scroe='B' then 1 else 0 end) as B, sum(case when scroe='C' then 1 else 0 end) as C, count(班级) from ScoreTable group by 班级结果查出来的结果:
    班级    A   B   C   Total
    Group1  6   3   3    12
    Group2  6   3   3    12
    Group3  6   3   3    12好像是把所有的成绩都统计了一次,哪里写错了么?非常感谢。