case when 能order by吗
时间: 2023-10-14 07:30:09 浏览: 107
MySQL排序中使用CASE WHEN的方法示例
在 SQL 中,CASE WHEN 语句可以与ORDER BY 结合使用,用于对查询结果进行条件排序。例如,以下查询将根据 salary 列对 employees 表进行排序:
```
SELECT employee_id, first_name, last_name, salary,
CASE
WHEN salary < 5000 THEN 'Low'
WHEN salary >= 5000 AND salary < 10000 THEN 'Medium'
ELSE 'High'
END AS salary_range
FROM employees
ORDER BY
CASE
WHEN salary < 5000 THEN 1
WHEN salary >= 5000 AND salary < 10000 THEN 2
ELSE 3
END
```
在上述查询中,我们使用 CASE WHEN 语句创建一个名为 salary_range 的新列,然后使用该列进行条件排序。我们使用另一个 CASE WHEN 语句来为每个 salary_range 分配一个数字,在 ORDER BY 子句中使用该数字进行排序。
阅读全文