order by 中能使用case when吗
时间: 2023-10-18 20:18:24 浏览: 45
是的,ORDER BY 子句可以使用 CASE WHEN 表达式来对结果进行排序。例如:
```sql
SELECT column1, column2, column3
FROM table_name
ORDER BY
CASE
WHEN column1 = 'value1' THEN 1
WHEN column1 = 'value2' THEN 2
ELSE 3
END,
column2 ASC;
```
这个查询会先按照 column1 的值进行排序,如果 column1 的值是 'value1',则返回 1,如果是 'value2',则返回 2,否则返回 3。然后按照 column2 的升序进行排序。
相关问题
case when 能order by吗
在 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 子句中使用该数字进行排序。
order by 后面接case when
引用\[1\]和\[2\]提供了两个示例,展示了在SQL查询中使用order by和case when语句的用法。在这些示例中,order by后面接的是一个case when语句,用于根据特定条件对结果进行排序。
在\[1\]的示例中,根据学生的课程进行排序,当课程为语文课时排在最前面,数学课次之,物理课再次之,其他课程排在最后。
在\[2\]的示例中,根据产品的名称进行排序,当产品为方太吸油烟机时排在最前面,方太消毒柜次之,以此类推,其他产品排在最后。
因此,当order by后面接case when语句时,可以根据特定条件对结果进行排序。
#### 引用[.reference_title]
- *1* [sql语句中 order by利用case when实现排序(简单使用)](https://blog.csdn.net/wuzj1314/article/details/126816405)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [order by 子句 后面跟 case when](https://blog.csdn.net/qianyuanruqu/article/details/87617517)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [记录 mysql 中 order by 结合 case when 实现多条件排序.](https://blog.csdn.net/weixin_44821980/article/details/129242218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]