av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

聊一聊SQL自定義排序

?

專注于為中小企業(yè)提供成都網(wǎng)站設計、成都網(wǎng)站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)江城免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

今天給大家介紹幾種方法來求解這樣的問題,我們先看下示例表:

這張表的數(shù)據(jù)是隨機錄進去的,下面我們希望按照我們指定的順序輸出為如下內(nèi)容:

注意:這里既沒有按照人口的多少排序,也沒有按照GDP的多少排序,更加沒有按照城市的拼音首字母排序,完全是按照我們自己的意愿進行排序。

方法一  ORDER BY CASE WHEN

通過在ORDER BY的時候,我們對想要的輸出順序使用CASE WHEN,將文本轉(zhuǎn)化為可排序的數(shù)字來進行間接排序,具體代碼如下:

*  Citys

City=
City=
City=
City=
City=

此方法針對比較簡單的查詢?nèi)菀讓崿F(xiàn)自定義排序,在比較復雜場景中使用起來有限制。

方法二 UNION ALL

使用UNION ALL的方法容易理解,但是代碼會寫的比較復雜,具體如下:

a.City,a.Population,a.GDP 
(
,* Citys City=
ALL
,* Citys City=
ALL
,* Citys City=
ALL
,* Citys City=
ALL
,* Citys City=
) a
a.Num

我們通過增加一列自定義的Num,給查詢出來的每一行記錄賦一個值,這個值是我們輸出的順序,再通過子查詢對這個自定義的Num進行排序即可。時常用在比較復雜的查詢語句中,且需要自定義排序的場景下。

方法三 創(chuàng)建臨時表

相比上面兩種方法,創(chuàng)建臨時表的方法可以極大的減少代碼量。我們可以先創(chuàng)建一個按照我們希望輸出的順序的臨時表Temp,具體如下:

當我們需要自定義排序輸出時,可以直接關聯(lián)該臨時表,具體代碼如下:

a.*  Citys a
Temp b a.City=b.City
b.Num

這種方法相對于上面兩種方法只需要更新臨時表中的順序即可,可以適應各種不同的場景。?


網(wǎng)站欄目:聊一聊SQL自定義排序
瀏覽地址:http://uogjgqi.cn/article/cdsidpg.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流