台灣最大程式設計社群網站
線上人數
1389
 
會員總數:246737
討論主題:190152
歡迎您免費加入會員
討論區列表 >> MySQL >> NULL 排序疑問 ORDER BY sort IS NULL
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
NULL 排序疑問 ORDER BY sort IS NULL
價值 : 5 QP  點閱數:1731 回應數:2
樓主

町風
初學者
229 213
1974 203
發送站內信


用 ORDER BY sort IS NULL就可以讓sort欄位NULL排在最後
可是語意上不是 sort IS NULL 是NULL值的先,剛老相反。

搜尋相關Tags的文章: [ ORDER BY IS NULL ] ,
本篇文章發表於2015-08-13 17:01
1樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
樓主的寫法我其實沒有看過
關於NULL的排序可以參照這篇
http://charlesbc.blogspot.tw/2010/08/nulls.html

關於樓主提到的情況,我是這樣理解的
MySQL是允許自訂排序的,自訂排序的值會轉換從1開始的序列值,當欄位值不在自訂排序中時會被當成0處理
樓主的寫法,如果以自訂排序的角度來看,NULL會被當成1,非NULL的值因為沒有在自訂排序的序列中,所以被當成0處理
因此NULL被放到最後
但是樓主的寫法和自訂排序其實差很大,自訂排序可參照這篇
http://snippetinfo.net/media/340
本篇文章回覆於2015-08-14 10:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

町風
檢舉此回應
我知道他的邏輯了
sort IS NULL 的意思就像 case when sort is null then 1 else 0 end
都是將 NULL 或 NOT NULL 回傳1或0,這樣就可以依數值排序了
本篇文章回覆於2015-08-14 13:45
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.