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,,--不分组
--周末了,加班的继续加班,休班的好好休息吧!
相关文章
相关标签/搜索