SQL查詢排序將null值排到最后的兩種解決方法
1、問題現(xiàn)象描述
在進行SQL查詢排序時,如果遇到null值,一般默認都排在最上邊,如下圖所示:
SELECT id, lon from merchant_info ORDER BY lon
如果想將NULL值排在最后邊該如何操作呢?,可以采用下邊的兩種解決方案:
2、解決方法一
如果使用的是ORACLE、SQL Server、DB2等數據庫,可以使用 NULLS LAST 進行排序將NULL排到最后邊。
SELECT id, lon from merchant_info ORDER BY lon NULLS LAST
如果進行降序排列時,想將NULL排在最前邊可以使用 NULLS FIRST
SELECT id, lon from merchant_info ORDER BY lon desc NULLS FIRST
3、解決方法二
如果使用的MySQL數據庫,則方法一不會生效,可以使用IF(ISNULL(lon),1,0) 將NULL排在最后:
SELECT id, lon from merchant_info ORDER BY IF(ISNULL(lon),1,0), lon
如果進行降序排列,想將NULL值排在最前,可以使用IF(ISNULL(lon),0,1):
SELECT id, lon from merchant_info ORDER BY IF(ISNULL(lon),0,1), lon DESC
到此這篇關于SQL查詢排序將null值排到最后的兩種解決方法的文章就介紹到這了,更多相關SQL查詢將null值排最后內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
一個查看MSSQLServer數據庫空間使用情況的存儲過程 SpaceUsed
一個查看MSSQLServer數據庫空間使用情況的存儲過程 SpaceUsed...2007-02-02SQLServer查詢歷史執(zhí)行記錄的方法實現(xiàn)
有的時候,需要知道近段時間SQLSERVER執(zhí)行了什么語句,本文主要介紹了SQLServer查詢歷史執(zhí)行記錄的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-09-09SQLServer 數據庫變成單個用戶后無法訪問問題的解決方法
今天不知怎么點錯了東西,SQLServer中的一個數據庫變成單用戶了,而且無法訪問,下面是解決方法,有需要的朋友可以參考一下2013-10-10SQL語句過濾條件放在on與where子句中的區(qū)別和聯(lián)系淺析
在寫SQL語句的時候,我們經常會用到各種表連接,還有各種分組聚合函數,下面這篇文章主要給大家介紹了關于SQL語句過濾條件放在on與where子句中的區(qū)別和聯(lián)系,需要的朋友可以參考下2022-09-09SQL SERVER 2012新增函數之邏輯函數CHOOSE詳解
這篇文章主要介紹了SQL SERVER 2012新增函數之邏輯函數CHOOSE的相關資料,文中介紹的很詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03