1. 程式人生 > >MySQL 排序中使用 CASE WHEN

MySQL 排序中使用 CASE WHEN

  在之前的一個專案中,使用到了SQL中使用 CASE WHEN 排序的功能。現在寫篇部落格備忘~

  資料庫版本:MySQL 5.6.42

  條件:某欄位代表該資料的狀態取值為非負整數,0表示無狀態。

  需求:以該欄位升序排序,同時需要將值為0的資料放在最後。

  首先我們看一下,表的結構:

  

 

  正常的使用升序查詢結果是這樣的:

  

 

  要讓“小赤”排在最後,可以這樣寫:

  

 

  也可以這樣:

  

 

  還可以使用 CASE WHEN 再不影響查詢結果的前提下,改變排序的依據: