MySQL 排序中使用 CASE WHEN

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

  数据库版本:MySQL 5.6.42

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

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

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

  

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

  

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

  

  也可以这样:

  

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

  

猜你喜欢

转载自www.cnblogs.com/CoderAnan/p/10246093.html
今日推荐