请教关于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
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