成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊一聊SQL自定義排序

數(shù)據(jù)庫 其他數(shù)據(jù)庫
你有遇到過這樣的場景嗎?按指定的順序輸出結(jié)果,比如按“北京,天津,上海,重慶……”這樣的順序。

?

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

圖片

這張表的數(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,具體如下:

圖片

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

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

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

責任編輯:武曉燕 來源: SQL數(shù)據(jù)庫開發(fā)
相關(guān)推薦

2021-03-29 00:02:10

C#Attribute元素

2020-10-15 06:56:51

MySQL排序

2022-06-27 07:50:16

鏈表節(jié)點測試

2021-01-28 22:31:33

分組密碼算法

2023-09-22 17:36:37

2020-05-22 08:16:07

PONGPONXG-PON

2018-06-07 13:17:12

契約測試單元測試API測試

2020-03-31 10:08:15

零信任安全軟件

2019-02-13 14:15:59

Linux版本Fedora

2018-11-29 09:13:47

CPU中斷控制器

2022-11-01 08:46:20

責任鏈模式對象

2021-02-06 08:34:49

函數(shù)memoize文檔

2021-01-29 08:32:21

數(shù)據(jù)結(jié)構(gòu)數(shù)組

2022-08-08 08:25:21

Javajar 文件

2021-08-04 09:32:05

Typescript 技巧Partial

2023-07-06 13:56:14

微軟Skype

2023-05-15 08:38:58

模板方法模式

2019-12-17 10:06:18

CDMA高通4G

2022-03-08 16:10:38

Redis事務(wù)機制

2020-09-08 06:54:29

Java Gradle語言
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美日韩国产一区 | 欧美日韩国产三级 | 九九久久久 | av网站免费看 | 一区二区视频在线观看 | 亚洲第一视频网 | 久久国产亚洲 | 久久久久国产精品人 | 日一日操一操 | 成人在线免费 | 99久久精品国产一区二区三区 | 亚洲精品区 | 一区二区三区日韩 | 亚洲欧美久久 | 日韩欧美手机在线 | 欧美全黄| 国产精品99精品久久免费 | 人成在线 | 国产一区精品 | 6996成人影院网在线播放 | 成人性视频免费网站 | 不用播放器看的av | 999在线精品| 亚洲综合久久精品 | www.久久 | 精品一二区| 亚洲女优在线播放 | 欧美日韩在线免费观看 | 美女人人操 | 精品久久久久久久久久久院品网 | 精品久久久久久 | 黄色毛片在线看 | 国产日韩欧美精品 | 99亚洲精品 | 精品香蕉一区二区三区 | 一级毛片观看 | 91麻豆精品国产91久久久更新资源速度超快 | 国产亚洲精品久久情网 | 中文字幕一区二区三区四区五区 | 91精品国产高清一区二区三区 | 欧美性高潮|