查询每个部门提成的总额,没有提成的(为NULL的)人先补发50,按照部门编号降序排序.
时间: 2024-02-18 14:02:14 浏览: 83
好的,这是一个查询语句的问题,以下是我的回答:
```
SELECT deptno, IFNULL(SUM(comm), 50*COUNT(*)) AS total_comm
FROM emp
GROUP BY deptno
ORDER BY deptno DESC;
```
这条 SQL 查询语句会返回每个部门的编号和提成的总额,如果某个员工没有提成(comm 为 NULL),就会按照题目要求补发50元,然后再计算总额。最后,结果按照部门编号进行降序排序。
希望我的回答能够帮到你!如果你还有其他问题,可以继续提出。
相关问题
mysql中查询每个部门提成的总额,没有提成的(为NULL的)人先补发50,按照部门编号降序排序.
可以使用以下 SQL 语句实现:
```
SELECT department_id, IFNULL(SUM(commission), 50*COUNT(*)) AS total_commission
FROM employees
GROUP BY department_id
ORDER BY department_id DESC;
```
解析:
- 使用 `SELECT` 语句查询部门编号和提成总额。
- `IFNULL` 函数用于判断提成总额是否为 NULL,如果是 NULL,则表示该部门没有提成的人,将其补发 50 元,即使用 `COUNT(*)` 函数统计该部门员工总数,并乘以 50。
- 使用 `SUM` 函数计算每个部门的提成总额。
- 使用 `GROUP BY` 语句将结果按照部门编号分组。
- 使用 `ORDER BY` 语句将结果按照部门编号降序排序。
阅读全文