MySQL排序中使用CASE WHEN的方法示例

前言

在之前的一个项目中,使用到了SQL中使用 CASE WHEN 排序的功能。现在写篇博客备忘~

数据库版本:MySQL 5.6.42

条件:

某字段代表该数据的状态取值为非负整数,0表示无状态。

需求:

以该字段升序排序,同时需要将值为0的数据放在最后。

首先我们看一下,表的结构:

MySQL排序中使用CASE WHEN的方法示例

正常的使用升序查询结果是这样的:

MySQL排序中使用CASE WHEN的方法示例

要让“小赤”排在最后,可以这样写:

MySQL排序中使用CASE WHEN的方法示例

也可以这样:

MySQL排序中使用CASE WHEN的方法示例

还可以使用 CASE WHEN 再不影响查询结果的前提下,改变排序的依据:

MySQL排序中使用CASE WHEN的方法示例

总结

相关推荐