我用select * from table group by 字段1,字段2 with rollup having grouping(字段1)+grouping(字段2)……得出按字段1,字段2分类汇总,汇总的列都是在该类的最后一行出现,能否在该类的第一行也出现一行这类的标识。
解决方案 »
- 存储过程里面的时间 怎么对比 是不是今天和是不是 这个月?
- SQL2005 datetime类型字段默认值问题
- 存储过程调用存储过程
- 行和列都是动态的,这个报表效果该怎么写?
- 计算时间问题,近来看看.
- 【100分,确实有些疑难】关于按照某个字段部分内容来进行Group By的问题。
- 一个表的字段创建
- Transaction cannot start while in firehose mode 是什么意思?
- 两台win2k机器,其中一台装有sqlserver7,另一台用sa身份连接sqlserver,是否必须先经过NT验证?
- The OLE DB provider "Microsoft.ACE.OLEDB.12.0" has not been registered.
- 数据库分配权限 要几张表
- T-SQL语句查询服务器内存,cpu,磁盘空间,磁盘IO以及每个库的大小
http://hi.csdn.net/cp.php?ac=upload
然后上传你的图片,再打图片地址帖过来。
union all
select * from table group by 字段1,字段2 with rollup having grouping(字段1)+grouping(字段2)……
create table tb(id int,name1 varchar(10),name2 varchar(10))
insert tb
select 1 ,'a' ,'a' union all
select 2 ,'c' ,'a'union all
select 3 ,'b','a'union all
select 4 ,'a' ,'a'
select isnull(name1,'总计')name1,
isnull(name2,case when name1 is not null then '小计' end )name2,
sum(id) as [合计] from tb group by name1,name2 with rollup
order by case when name1 is null then 0 else 1 end,
name1,
case when name2 is null then 0 else 1 end
drop table tb/*
name1 name2 合计
---------- ---------- -----------
总计 NULL 10
a 小计 5
a a 5
b 小计 3
b a 3
c 小计 2
c a 2
*/