3.请使用Mysql语句查询出下列表中‘平均工资’最高和最低的部门,并展示出这两类部门的总工资及总人数。
时间: 2023-11-27 22:52:00 浏览: 122
假设表名为`employee`,字段包括`dept_id`、`salary`。
可以使用以下SQL语句查询出平均工资最高的部门:
```
SELECT dept_id, AVG(salary) AS avg_salary, COUNT(*) AS emp_count, SUM(salary) AS total_salary
FROM employee
GROUP BY dept_id
ORDER BY avg_salary DESC
LIMIT 1;
```
可以使用以下SQL语句查询出平均工资最低的部门:
```
SELECT dept_id, AVG(salary) AS avg_salary, COUNT(*) AS emp_count, SUM(salary) AS total_salary
FROM employee
GROUP BY dept_id
ORDER BY avg_salary ASC
LIMIT 1;
```
这两个查询语句分别使用了`GROUP BY`对每个部门进行分组,然后通过`AVG`求出平均工资、`COUNT`求出总人数、`SUM`求出总工资。最后使用`ORDER BY`对平均工资进行排序,再使用`LIMIT`只返回第一行结果,即平均工资最高或最低的部门。
相关问题
3. 请使用Mysql语句查询出下列表中‘平均工资’最高和最低的部门,并展示出这两类部门的总工资及总人数。
好的,以下是Mysql语句查询出下列表中‘平均工资’最高和最低的部门,并展示出这两类部门的总工资及总人数的查询语句:
```
SELECT department, SUM(salary) AS total_salary, COUNT(*) AS total_people
FROM employee
GROUP BY department
HAVING AVG(salary) = (SELECT MAX(avg_salary) FROM
(SELECT AVG(salary) AS avg_salary FROM employee GROUP BY department) AS T1)
OR AVG(salary) = (SELECT MIN(avg_salary) FROM
(SELECT AVG(salary) AS avg_salary FROM employee GROUP BY department) AS T2)
```
其中,employee 表是包含员工信息的表格,包括部门、工资等字段。这个查询语句会先按部门分组,计算每个部门的总工资和总人数,然后找出平均工资最高和最低的部门,最后展示出这两类部门的总工资和总人数。
阅读全文