当前位置:编程学习 > C#/ASP.NET >>

各位大神帮忙看看 分组统计显示的问题。


数据表数据如下:

 a列          b列          d列(数量)
项目1       子项目1          2
项目1       子项目1          2
项目1       子项目2          2 
项目2       子项目1          2 
项目2       子项目1          2 
项目3       子项目1          2  


现在想分组统计表格如下显示效果。

a列          b列          d列(数量)
            
             子项目1        4                             
项目1       子项目2        2


                                
项目2       子项目1        4


项目3       子项目1        2


请问分组显示,用repeater控件做可以吗? 各位大神帮帮忙。

           

.net ,分组统计 --------------------编程问答-------------------- select sum(d列) as d,a列,b列 BY group by a列,b列
结果:
a列          b列          d列(数量)
            
项目1        子项目1        4                             
项目1       子项目2        2


                                
项目2       子项目1        4


项目3       子项目1        2

应该是这样写的啊

达到你自己效果还要在代码里操作 --------------------编程问答-------------------- select a列        ,  b列      ,sum(d列) from tb group by a列         , b列  --------------------编程问答--------------------
引用 1 楼 xiaozhihui5535 的回复:
select sum(d列) as d,a列,b列 BY group by a列,b列
结果:
a列          b列          d列(数量)
            
项目1        子项目1        4                             
项目1       子项目2        2


                    ……


不是  是想达到如效果:

--------------------编程问答-------------------- 刚可能表述的不太清楚


数据表数据如下:

 a列          b列          d列(数量)
项目1       子项目1          2
项目1       子项目1          2
项目1       子项目2          2 
项目2       子项目1          2 
项目2       子项目1          2 
项目3       子项目1          2  


现在想分组统计表格如下显示效果。
--------------------编程问答--------------------
引用 4 楼 myxtlgs 的回复:
刚可能表述的不太清楚


数据表数据如下:

 a列          b列          d列(数量)
项目1       子项目1          2
项目1       子项目1          2
项目1       子项目2          2 
项目2       子项目1          2 
项目2       子项目1          2 
项……


select sum(d列) as c,a列 ,b列 from tb group by a列, b列  
你要的效果不是一条sql能搞定的 上面也说了 需要在代码操作

可以自己画table   
先找a列   max(a列)是多少  那么a列所占行数就出来了  然后在从上面sql语句返回的table根据a列去找到b列 给对应列赋值  c列一样
--------------------编程问答-------------------- repeater可以实现!! 例子: 

   select cartypesn,
   sum(case when w2_onschedule_sort=10 and W2_BILL_SORT=1 then 1 else 0 end) tqrkA,
   sum(case when w2_onschedule_sort=10 and W2_BILL_SORT=0 then 1 else 0 end) tqrkB,
   sum(case when w2_onschedule_sort=20 and W2_BILL_SORT=1 then 1 else 0 end) jhnrkA,
   sum(case when w2_onschedule_sort=20 and W2_BILL_SORT=0 then 1 else 0 end) jhnrkb,
   sum(case when w2_onschedule_sort in (30,40) and W2_BILL_SORT=1 then 1 else 0 end) ycrkA,
   sum(case when w2_onschedule_sort in (30,40) and W2_BILL_SORT=0 then 1 else 0 end) ycrkB,
   max(w2_Time) as w2_Time
  from w2summary_day_h_d m where to_char(w2_Time,'yyyy-mm-dd')='2013-01-07'  group by cartypesn ;
--------------------编程问答-------------------- repeater可以实现!! 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,