前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL Server基础SQL脚本之Group By

SQL Server基础SQL脚本之Group By

作者头像
赵腰静
发布2018-03-09 15:19:58
9380
发布2018-03-09 15:19:58
举报
文章被收录于专栏:程序猿程序猿

代码大概80行左右 本系列,几乎都是代码,记得当时写的时候用的是微软的官方实例数据库AdventureWorks_Data.mdf、AdventureWorks_Log.ldf来运行的。 下载链接:链接: https://pan.baidu.com/s/1pMdLz6N 密码: xvhu 或者回复“AdventureWorks”来获取链接。


不知道随便想的里面有没有跟读者同名的?

代码语言:javascript
复制
--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
--不分组
--周末了,加班的继续加班,休班的好好休息吧!
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据库SQL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档