MySQL中的CASE WHEN和IFNULL可以结合使用来实现更复杂的条件语句。

例如,我们有一个表格employees,其中包含员工的姓名、工资和职位。我们需要创建一个查询,将所有员工的工资按照职位进行分类,并将工资最高的员工的姓名列出来。如果有两个或多个员工的工资最高,只列出其中一个。

下面是使用CASE WHEN和IFNULL的查询语句:

SELECT IFNULL( (SELECT CASE WHEN position = 'Manager' THEN 'Manager' WHEN position = 'Clerk' THEN 'Clerk' ELSE 'Other' END AS position, MAX(salary) FROM employees GROUP BY position ORDER BY MAX(salary) DESC LIMIT 1), 'No employees found' ) AS highest_paid_employee;

这个查询语句首先使用CASE WHEN将职位分类为Manager、Clerk或Other,然后使用MAX函数找出每个职位的最高工资,并按照最高工资进行排序。最后,使用IFNULL函数将结果转换为字符串,并在没有找到任何员工时返回“No employees found”。

mysql case when和ifnull配合使用

原文地址: https://www.cveoy.top/t/topic/bEMP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录