国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sql rollup用法 小計匯總

2020-10-30 19:12:11
字體:
來源:轉載
供稿:網友

這里介紹sql server2005里面的一個使用實例:

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

1、 只有一個匯總

select province as 省,sum(score) as 分數 from tb group by province with rollup

結果:

廣東 10
江蘇 7
陜西 9
NULL 26


select case when grouping(province)=1 then '合計' else province end  as 省,sum(score)  as 分數 from tb group by province with rollup

結果:

廣東 10
江蘇 7
陜西 9
合計 26


2、兩級,中間小計最后匯總

select province as 省,city as 市,sum(score) as 分數 from tb group by province,city with rollup

結果:

廣東 東莞 3
廣東 廣州 5
廣東 珠海 2
廣東 NULL 10
江蘇 南京 6
江蘇 蘇州 1
江蘇 NULL 7
陜西 安康 4
陜西 漢中 2
陜西 西安 3
陜西 NULL 9
NULL NULL 26

select province as 省,city as 市,sum(score) as 分數,grouping(province) as g_p,grouping(city) as g_c from tb group by province,city with rollup


結果:

廣東 東莞 3 0 0
廣東 廣州 5 0 0
廣東 珠海 2 0 0
廣東 NULL 10 0 1
江蘇 南京 6 0 0
江蘇 蘇州 1 0 0
江蘇 NULL 7 0 1
陜西 安康 4 0 0
陜西 漢中 2 0 0
陜西 西安 3 0 0
陜西 NULL 9 0 1
NULL NULL 26 1 1


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

結果:

廣東 東莞 3
廣東 廣州 5
廣東 珠海 2
廣東 小計 10
江蘇 南京 6
江蘇 蘇州 1
江蘇 小計 7
陜西 安康 4
陜西 漢中 2
陜西 西安 3
陜西 小計 9
合計 NULL 26

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 筠连县| 正宁县| 肇东市| 西乌珠穆沁旗| 镇原县| 乌兰察布市| 阿坝| 错那县| 竹山县| 门头沟区| 汶上县| 铁力市| 含山县| 涞水县| 闽侯县| 湖州市| 大港区| 东方市| 杭锦后旗| 额敏县| 龙游县| 奇台县| 白水县| 怀集县| 淮南市| 峨边| 宝丰县| 平遥县| 双峰县| 闽侯县| 南岸区| 五原县| 长沙市| 怀来县| 大洼县| 藁城市| 青岛市| 隆林| 兴安县| 兰坪| 江阴市|