SQL Server基礎SQL腳本之Group By

代碼大概80行左右數據庫

本系列,幾乎都是代碼,記得當時寫的時候用的是微軟的官方實例數據庫AdventureWorks_Data.mdf、AdventureWorks_Log.ldf來運行的。ide

下載連接:連接: https://pan.baidu.com/s/1pMdLz6N 密碼: xvhuspa

或者回復「AdventureWorks」來獲取連接。orm





不知道隨便想的裏面有沒有跟讀者同名的ci

--create table EmpTable

drop table EmpTable

CREATE TABLE EmpTable
(
    EmpName nchar(),
    Region nvarchar(),
    Department nvarchar(),
    Salary money
)

--insert records into the table

insert into EmpTable values
(,,,),
(,,,),
(,,,),
(,,,),
(,,,),
(,,,)

select * from EmpTable

-- ).查看全部員工平均工資
select avg(Salary) as from EmpTable
-- ).按照地區分組,查看每一個地區的平均工資
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)>-- ).按照部門分組,查看每一個部門的平均工資
select Department,avg(Salary) from EmpTable group by Department
--).同時按照地區和部門分組,顯示如山東地區人力資源部的平均工資的信息
select Region,Department,avg(Salary) from EmpTable group by Region,Department
--).同時按照地區和部門、地區、部門分組
select Region,Department,avg(Salary) from EmpTable
group by
grouping sets
(
 (Region,Department), (Region), (Department)
)
--).按照部門分組的同時顯示總的平均
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,,-- A,-- A 
-- 不分組

--).同時按照地區和部門分組時,同時顯示地區平均,部門平均和總平均
select Region,Department,sum(Salary) from EmpTable group by cube(Region,Department)
--Region+Department
--Region
--Department
--不分組

--cube(A,B,C)
--A
------A,--A,--,--A,,--不分組
--週末了,加班的繼續加班,休班的好好休息吧!
相關文章
相關標籤/搜索