在之前的一个项目中,使用到了SQL中使用 CASE WHEN 排序的功能。现在写篇博客备忘~
数据库版本:MySQL 5.6.42
条件:某字段代表该数据的状态取值为非负整数,0表示无状态。
需求:以该字段升序排序,同时需要将值为0的数据放在最后。
首先我们看一下,表的结构:
正常的使用升序查询结果是这样的:
要让“小赤”排在最后,可以这样写:
也可以这样:
还可以使用 CASE WHEN 再不影响查询结果的前提下,改变排序的依据: