首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请问关于SQL 分组统计的有关问题

2013-09-26 
请教关于SQL 分组统计的问题数据库有如下数据:编号名称数量原价使用状态规格型号070103车床1120报废PD3000

请教关于SQL 分组统计的问题
数据库有如下数据:
编号       名称       数量     原价     使用状态    规格型号
070103    车床1      1      20       报废         PD300
0801      计算机      5      60       在用         联想
0501      房屋        6      10       在用         无
050102    房屋1      2      20       在用         无
050106    房屋2      1      20       在用         无
0701      车床        9      10       在用         AC500


想通过分组统计实现以下效果:
编号       名称       数量     原价     使用状态    规格型号
0501      房屋        6      10       在用         无
050102    房屋1      2      20       在用         无
050106    房屋2      1      20       在用         无
小计                    9      50
0701      车床        9      10       在用         AC500
070103    车床1      1      20       报废         PD300


小计                   10     30
0801      计算机      5      60       在用         联想
小计                   5      60

请教下如何实现,谢谢
补充下,想实现的效果如上所述,既需要显示数据库中所有数据,又在不同数据区域进行分组,每组下面有小计进行统计数量和原价的小计值,望各位高手指点下,谢谢了 sql
[解决办法]
又是GROUPING加GROUP WITH ROLLUP
[解决办法]
这个看看

SELECT CASE WHEN name IS NULL THEN '小计' WHEN id IS NULL THEN '小计' ELSE id END id,
ISNULL(name,'') name,SUM([count]) [count],SUM(price) price
FROM #temp
GROUP BY id,name
WITH rollup

[解决办法]
with test (id,[name],[count],Price,[status],xh) as
          (select '070103','车床1',1,20,'报废','PD300' union all
           select '0801','计算机',      5,      60,       '在用',         '联想' union all
           select '0501',      '房屋',        6,      10,       '在用',         '无' union all
           select '050102',    '房屋1',      2,      20 ,      '在用',         '无'union all
           select '050106',    '房屋2',      1,     20,       '在用',         '无'union all


           select '0701',      '车床' ,       9,      10,       '在用',         'AC500' )


select * from test
union all
select left(id,4)+'小计','',sum([count]),sum(price),'','' from test group by left(id,4) order by id

[解决办法]
 可以参考这里, http://www.cnblogs.com/ILove/articles/1240551.html

热点排行