SQL Server基礎SQL指令碼之Group By
阿新 • • 發佈:2022-05-03
程式碼大概80行左右 本系列,幾乎都是程式碼,記得當時寫的時候用的是微軟的官方例項資料庫AdventureWorks_Data.mdf、AdventureWorks_Log.ldf來執行的。 下載連結:連結: https://pan.baidu.com/s/1pMdLz6N 密碼: xvhu 或者回復“AdventureWorks”來獲取連結。
不知道隨便想的裡面有沒有跟讀者同名的?
--create table EmpTable drop table EmpTable CREATE TABLE EmpTable ( EmpName nchar(3), Region nvarchar(5), Department nvarchar(10), Salary money ) --insert 6 records into the table insert into EmpTable values (N'李剛',N'山東',N'資訊科技部',20000), (N'趙雲',N'廣東',N'資訊科技部',30000), (N'周宇',N'山東',N'人力資源部',25000), (N'李想',N'廣東',N'人力資源部',40000), (N'張濤',N'河北',N'資訊科技部',50000), (N'樑浩',N'山東',N'資訊科技部',50000) select * from EmpTable -- 1).檢視所有員工平均工資 select avg(Salary) as '平均工資' from EmpTable -- 2).按照地區分組,檢視每個地區的平均工資 select Region,avg(Salary) from EmpTable group by Region select Region,sum(Salary) from EmpTable group by Region select Region,avg(Salary) from EmpTable group by Region having avg(Salary)>40000 -- 3).按照部門分組,檢視每個部門的平均工資 select Department,avg(Salary) from EmpTable group by Department --4).同時按照地區和部門分組,顯示如山東地區人力資源部的平均工資的資訊 select Region,Department,avg(Salary) from EmpTable group by Region,Department --5).同時按照地區和部門、地區、部門分組 select Region,Department,avg(Salary) from EmpTable group by grouping sets ( (Region,Department), (Region), (Department) ) --6).按照部門分組的同時顯示總的平均 select Region,sum(Salary) from EmpTable group by Region select sum(Salary) from EmpTable select Region,sum(Salary) from EmpTable group by rollup(Region) --Region --不分組 select Region,Department,sum(Salary) from EmpTable group by rollup(Region,Department) --Region,Department --Region --不分組 -- rollup(A,B,C) -- A,B,C -- A,B -- A -- 不分組 --7).同時按照地區和部門分組時,同時顯示地區平均,部門平均和總平均 select Region,Department,sum(Salary) from EmpTable group by cube(Region,Department) --Region+Department --Region --Department --不分組 --cube(A,B,C) --A --B --C --A,B --A,C --B,C --A,B,C --不分組 --週末了,加班的繼續加班,休班的好好休息吧!