![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 町風 ![]()
![]() |
用 ORDER BY sort IS NULL就可以讓sort欄位NULL排在最後 可是語意上不是 sort IS NULL 是NULL值的先,剛老相反。
搜尋相關Tags的文章:
[ ORDER BY IS NULL ] ,
本篇文章發表於2015-08-13 17:01 |
1樓 |
樓主的寫法我其實沒有看過
關於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
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |