MySQL查询练习题1.平均工资2.查询各部门的总薪水3.查询总薪水排名第二的部门4.查询姓名重复的员工信息5.查询各部门薪水大于900的男性员工的平均薪水

创建一个员工表emp,包含字段:姓名name,性别sex,部门depart,工资salary

 create table emp(
     name varchar(30) not null,
     sex varchar(30) not null,
     depart int not null,
     salary int not null
     );

插入数据打印为

mysql> insert into emp values
    -> ('张三','男',1,1000),
    -> ('李艾','男',3,3000),
    -> ('李离','男',2,2000),
    -> ('王五','男',3,5000),
    -> ('妹妹','女',2,4000),
    -> ('姐姐','女',1,6000),
    -> ('女老板','女',1,9000);

了解group by

在MySQL中,GROUP BY子句的主要作用是根据一个或多个列对结果集进行分组,以便对每个分组执行聚合函数(如COUNT()SUM()AVG()MAX()MIN()等)。

1. 基本分组与聚合

最常见的用法是结合聚合函数对某一列或多列进行分组,并计算每组的聚合值。

SELECT department, COUNT(*) as num_employees
FROM employees
GROUP BY department;

这查询会按照 department 列的值对员工进行分组,并计算每个部门的员工数量。

2. 多列分组

你可以按照多个列的组合进行分组。

SELECT department, position, COUNT(*) as num_positions
 FROM employees 
 GROUP BY department, position;

这个查询会先按照 department 列的值进行分组,然后在每个部门内部再按照 position 列的值进行分组,最后计算每个部门中每个职位的数量。

3. 与HAVING子句结合使用

HAVING 子句用于过滤分组后的结果。它通常与 GROUP BY 一起使用,以基于聚合函数的结果来过滤分组。

​​​​​​SELECT department, AVG(salary) as avg_salary
FROM employees 
GROUP BY department 
HAVING avg_salary > 50000;

这个查询会计算每个部门的平均工资,但只返回那些平均工资超过 50000 的部门。

4. 与ORDER BY结合使用

你可以使用 ORDER BY 子句对分组后的结果进行排序。

SELECT department, COUNT(*) as num_employees
FROM employees
GROUP BY department
ORDER BY num_employees DESC;

这个查询会按照员工数量降序排列部门。

5. 在分组中使用表达式

你可以在 GROUP BY 子句中使用表达式或函数来对结果进行分组。

SELECT YEAR(hire_date) as hire_year, COUNT(*) as num_hires
FROM employees
GROUP BY YEAR(hire_date);

这个查询会按照员工入职年份对员工进行分组,并计算每年的入职员工数量。

查询男女员工的平均工资

 select sex,avg(salary) from emp
   where sex in('男','女') 
   group by sex;

 

查询各部门的总薪水

select depart ,sum(salary) from emp 
  group by depart;

 

查询总薪水排名第二的部门

select depart ,sum(salary) from emp 
  group by depart 
  order by sum(salary) desc --按照薪水降序
  limit 1 offset 1;--分页一个数据占一页,找排名第二就跳过第一页数据

查询姓名重复的员工信息

select * from emp 
  where name in(
    select name from emp --查找出重复的姓名
    group by name 
    having count(*)>1
  );

 

查询各部门薪水大于900的男性员工的平均薪水

select depart,avg (salary) from emp
  where sex= '男'and salary>900 
  group by depart;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/713973.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows Server 2008 r2 IIS .NET

Windows Server 2008 r2 IIS .NET

2-2 基于matlab的变邻域

基于matlab的变邻域,含变惯性权重策略的自适应离散粒子群算法,适应函数是多式联运路径优化距离。有10城市、30城市、75城市三个案例。可直接运行。 2-2 路径规划 自适应离散粒子群算法 - 小红书 (xiaohongshu.com)

MySQL基础——多表查询和事务

目录 1多表关系 2多表查询概述 3连接查询 3.1内连接 3.2左外连接 3.3右外连接 3.4自连接 4联合查询 5子查询 5.1标量子查询(子查询结果为单个值) 5.2列子查询(子查询结果为一列) 5.3行子查询(子查询结果为一行) 5.4表子查询(子查询结果为多行多列) 6事务简介和操…

模拟电子技术基础(二)--PN结

PN结的本质 芯片都是由硅晶体制成,单个硅原子最外层有带有4个电子 在纯硅当中这些电子会两两形成共价键,此时周围形成非常稳定的八电子结构 在一个回路中,灯泡不亮,不导通,因为电池无法吸引其中的电子离开&#xff0c…

机器学习在医学领域中的应用|文献精析·24-06-13

小罗碎碎念 2024-06-13|文献精析:机器学习在医学领域中的应用 为了系统性地和大家梳理一下机器学习在医学领域中的应用,我特意去找了一篇文献,把其中有价值的信息筛选出来了。但是我没选的内容不代表不重要,感兴趣的可…

高分论文密码---大尺度空间模拟预测与数字制图

大尺度空间模拟预测和数字制图技术和不确定性分析广泛应用于高分SCI论文之中,号称高分论文密码。大尺度模拟技术可以从不同时空尺度阐明农业生态环境领域的内在机理和时空变化规律,又可以为复杂的机理过程模型大尺度模拟提供技术基础。我们将结合一些经典…

Java SE进阶必备:数组中的命令行参数详解

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一…

5000天后的世界

为何可以预见未来 1993年,在互联网的黎明时代,凯文凯利创办了《连线》杂志。他曾经采访过以比尔盖茨、史蒂夫乔布斯、杰夫贝佐斯为代表的一众风云创业家。《连线》杂志是全球发行的世界著名杂志,一直致力于报道科学技术带来的经济、社会变革…

Linux screen命令使用

文章目录 1. 前言2. screen是什么?3. screen使用场景描述3. screen常用命令4. 小结5. 参考 1. 前言 实际开发中用到的云服务器,如果项目使用的是python,需要利用项目运行一些时间较长的项目程序脚本的话,由于我们通过ssh连接远端服务器&…

【深度学习】TCN,An Empirical Evaluation of Generic Convolutional【二】

文章目录 膨胀卷积什么是膨胀卷积膨胀卷积公式PyTorch代码 从零开始手动实现一个1D膨胀卷积,不使用PyTorch的nn.Conv1d1. 基本概念2. 手动实现1D膨胀卷积 TCN结构如何使用TCN源码说明1. Chomp1d 类2. TemporalBlock 类3. TemporalConvNet 类 使用方法 膨胀卷积 什么…

计算机毕业设计hadoop+spark+hive知识图谱股票推荐系统 股票数据分析可视化大屏 股票基金爬虫 股票基金大数据 机器学习 大数据毕业设计

哈 尔 滨 理 工 大 学 毕业设计开题报告 题 目: 基于Spark的股票大数据分析及可视化系统 院 系: 计算机科学与技术学院 数据科学与大数据技术系 2023年10月 一、选题的依据…

String常用方法详解

auth:别晃我的可乐 date:2024年06月16日 比较大小 equals(Object obj): 用于比较字符串内容是否相等。compareTo(String anotherString): 按字典顺序比较两个字符串。 String str1 "hello"; String str2 "world";boolean isEqual …

Android面试题 之 网络通信基础 面试题

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 序列化 判断标准 序列化后的码流大小性能跨语言 Serializable方式 码流偏大性能较低 XML方式 人机可读性好文件格式复杂、占带宽 JSON …

version-manager最好用的SDK版本管理器,v0.6.2发布

项目地址:https://github.com/gvcgo/version-manager 中文文档:https://gvcgo.github.io/vdocs/#/zh-cn/introduction 功能特点: 跨平台,支持Windows,Linux,MacOS支持多种语言和工具,省心受到…

Spark运行spark-shell与hive运行时均报错的一种解决方案

环境按照尚硅谷的配置的。 在运行hive的时候,报错代码为30041,无法执行insert语句。 在运行spark-shell的时候,报错,无法进入到shell脚本中。 可能的问题: 对集群设置的域名与集群的主机名称不一致。 例如:…

MySQL数据库管理(一)

目录 1.MySQL数据库管理 1.1 常用的数据类型​编辑 1.2 char和varchar区别 2. 增删改查命令操作 2.1 查看数据库结构 2.2 SQL语言 2.3 创建及删除数据库和表 2.4 管理表中的数据记录 2.5 修改表名和表结构 3.MySQL的6大约束属性 1.MySQL数据库管理 1.1 常用的数据类…

python包管理器--- pip、conda、mamba的比较

1 pip 1.1 简介 pip是一个 Python 的包(Package)管理工具,用于从 PyPI 安装和管理 Python 标准库之外的其他包(第三方包)。从 Python 3.4 起,pip 已经成为 Python 安装程序的一部分,也是官方标准…

如何在不懂足球的情况下对欧洲杯进行预测

指北君不懂足球,只是懂点数据。简单聊下欧洲杯预测。 体育活动中的数据分析和预测 数据早就融入到了专业的体育活动中,无论是提高运动员的表现,还是战术和策略制定,伤病预防和恢复,甚至球迷和商业分析,都离…

【面经总结】Java集合 - Map

Map 概述 Map 架构 HashMap 要点 以 散列(哈希表) 方式存储键值对,访问速度快没有顺序性允许使用空值和空键有两个影响其性能的参数:初始容量和负载因子。 初始容量:哈希表创建时的容量负载因子:其容量自动扩容之前被允许的最大…

国际统计年鉴(1995-2023年)

数据年份:1995-2023 数据格式:pdf、excel 数据内容:《国际统计年鉴》是一部综合性的国际经济社会统计资料年刊,收录了世界200多个国家和地区的统计数据,并对其中40多个主要国家和地区的经济社会发展指标及国际组织发布…