tongzhe2006 2016-11-19 08:46 采纳率: 0%
浏览 1033

SQL rollup后排序问题

CREATE TABLE tb(province nvarchar(10),city nvarchar(10),score int)
INSERT tb SELECT '陕西','西安',3
UNION ALL SELECT '陕西','安康',4
UNION ALL SELECT '陕西','汉中',2
UNION ALL SELECT '广东','广州',5
UNION ALL SELECT '广东','珠海',2
UNION ALL SELECT '广东','东莞',3
UNION ALL SELECT '江苏','南京',6
UNION ALL SELECT '江苏','苏州',1
GO

select case when grouping(province)=1 then '合计' else province end 省,
case when grouping(city)=1 and grouping(province)=0 then '小计' else city end 市,
sum(score) as 分数
from tb group by province,city with rollup

图片说明

怎么对每个省份中的城市按分数进行排倒序

  • 写回答

1条回答 默认 最新

  • 奇怪丶L 2024-06-04 16:53
    关注

    select case when grouping(province)=1 then '合计' else province end 省,
    case when grouping(city)=1 and grouping(province)=0 then '小计' else city end 市,
    sum(score) as 分数
    from tb group by province,city with rollup
    order by 1,3 desc

    评论

报告相同问题?