sql rollup用法 小計(jì)匯總
這里介紹sql server2005里面的一個(gè)使用實(shí)例:
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、 只有一個(gè)匯總
select province as 省,sum(score) as 分?jǐn)?shù) from tb group by province with rollup
結(jié)果:
廣東 10
江蘇 7
陜西 9
NULL 26
結(jié)果: 廣東 10 select province as 省,city as 市,sum(score) as 分?jǐn)?shù) from tb group by province,city with rollup 結(jié)果: 廣東 東莞 3 select province as 省,city as 市,sum(score) as 分?jǐn)?shù),grouping(province) as g_p,grouping(city) as g_c from tb group by province,city with rollup 廣東 東莞 3 0 0 結(jié)果: 廣東 東莞 3
select case when grouping(province)=1 then '合計(jì)' else province end as 省,sum(score) as 分?jǐn)?shù) from tb group by province with rollup
江蘇 7
陜西 9
合計(jì) 26
2、兩級(jí),中間小計(jì)最后匯總
廣東 廣州 5
廣東 珠海 2
廣東 NULL 10
江蘇 南京 6
江蘇 蘇州 1
江蘇 NULL 7
陜西 安康 4
陜西 漢中 2
陜西 西安 3
陜西 NULL 9
NULL NULL 26
結(jié)果:
廣東 廣州 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 '合計(jì)' else province end 省,
case when grouping(city)=1 and grouping(province)=0 then '小計(jì)' else city end 市,
sum(score) as 分?jǐn)?shù)
from tb group by province,city with rollup
廣東 廣州 5
廣東 珠海 2
廣東 小計(jì) 10
江蘇 南京 6
江蘇 蘇州 1
江蘇 小計(jì) 7
陜西 安康 4
陜西 漢中 2
陜西 西安 3
陜西 小計(jì) 9
合計(jì) NULL 26
相關(guān)文章
Sql Server 2005中查詢用分隔符分割的內(nèi)容中是否包含其中一個(gè)內(nèi)容
Sql Server 2005中查詢用分隔符分割的內(nèi)容中是否包含其中一個(gè)內(nèi)容,多個(gè)朋友給予的參考。2011-10-10sql server 2005因架構(gòu)無法刪除用戶錯(cuò)誤15138的解決方法
這篇文章主要介紹了Microsoft SQL Server錯(cuò)誤: 15138刪除對(duì)于用戶失敗,數(shù)據(jù)庫(kù)主體在該數(shù)據(jù)庫(kù)中擁有架構(gòu),無法刪除問題的解決方法 ,需要的朋友可以參考下2014-07-07同時(shí)安裝vs2005團(tuán)隊(duì)開發(fā)版和sql 2005企業(yè)版的方法(downmoon原作)
由于微軟在vs2005 vsts團(tuán)隊(duì)開發(fā)版中集成了sql 2005 express,而在SQL 2005中又集成了vs2005 Express,,所以當(dāng)很多用戶同時(shí)安裝vs2005團(tuán)隊(duì)開發(fā)?:?sql 2005企業(yè)版(downmoon)時(shí),就會(huì)出現(xiàn)數(shù)據(jù)庫(kù)連接失敗的case2012-10-10SQL2008中通過DBCC OPENTRAN和會(huì)話查詢事務(wù)
無論是有意無意,如果事務(wù)在數(shù)據(jù)庫(kù)中保持打開,則它會(huì)阻塞其他進(jìn)程對(duì)修改后的數(shù)據(jù)進(jìn)行操作。2011-06-06監(jiān)視SQLServer數(shù)據(jù)庫(kù)鏡像[圖文]
SQLServer2005以上版本提供了一個(gè)數(shù)據(jù)庫(kù)鏡像監(jiān)視器,不過打開它的方法比較特別。有了圖形界面以后,SQLServer數(shù)據(jù)庫(kù)鏡像的維護(hù)難度跟成本大大降低了。2009-05-05關(guān)于sqlserver 2005 使用臨時(shí)表的問題( Invalid object name #temptb)
最近在利用 SSRS 2005 做報(bào)表的時(shí)候,調(diào)用帶有臨時(shí)表的數(shù)據(jù)源時(shí),系統(tǒng)會(huì)報(bào)錯(cuò),并無法進(jìn)入向?qū)У南乱徊?提示There is an error in the query. Invalid object name #temptb2012-07-07簡(jiǎn)單有用的SQL腳本 (行列互轉(zhuǎn),查詢一個(gè)表內(nèi)相同紀(jì)錄等)
本文推薦的SQL腳本都是很實(shí)用的哦,學(xué)會(huì)了,對(duì)在工作中得心應(yīng)手,一起來學(xué)習(xí)學(xué)習(xí)吧。2010-04-04