MySQL-数据分组(GROUP BY)-练习

本文展示了六个SQL查询实例,涉及计算员工薪资范围、岗位人数、经理数量、最低薪水差额、经理下属薪资以及按部门汇总的员工薪资信息。
摘要由CSDN通过智能技术生成

练习


1.显示所有雇员的最高、最低、合计和平均薪水,列标签分别为:Max、Min、Sum 和 Avg。四舍五入结果为最近的整数。

SELECT
ROUND(MAX(e.SALARY)) max,
ROUND(MIN(e.SALARY)) min,
ROUND(SUM(e.SALARY)) sum,
ROUND(AVG(e.SALARY)) avg
FROM employees e;

在这里插入图片描述

2.写一个查询显示每一工作岗位的人数。

SELECT
e.JOB_ID,COUNT(*)
FROM employees e
GROUP BY e.JOB_ID;

在这里插入图片描述

3.确定经理人数,不需要列出他们,列标签是 Number ofManagers。提示:用MANAGER_ID列决定经理号。

SELECT
COUNT(DISTINCT e.MANAGER_ID)
FROM employees e;

在这里插入图片描述

4.写一个查询显示最高和最低薪水之间的差。

SELECT
MAX(e.SALARY) - MIN(e.SALARY)
FROM employees e;

在这里插入图片描述

5.显示经理号和经理付给雇员的最低薪水。排除那些经理未知的人。排除最低薪水小于等于 $6,000 的组。按薪水降序排序输出。

SELECT e.MANAGER_ID,MIN(e.SALARY)
FROM employees e
WHERE e.MANAGER_ID is not null
GROUP BY e.MANAGER_ID
HAVING min(e.SALARY) > 6000
ORDER BY min(e.SALARY) desc;

在这里插入图片描述

6.写一个查询显示每个部门的名字、地点、人数和部门中所有雇员的平均薪水。四舍五入薪水到两位小数。

SELECT
d.DEPARTMENT_NAME,d.LOCATION_ID,COUNT(*),ROUND(AVG(e.SALARY))
FROM employees e,departments d
where e.DEPARTMENT_ID = d.DEPARTMENT_ID
GROUP BY d.DEPARTMENT_NAME,d.LOCATION_ID;

在这里插入图片描述

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

途中刂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值