溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

TSQL order by 子句中排序列的多種寫法

發(fā)布時間:2020-07-19 03:14:52 來源:網(wǎng)絡(luò) 閱讀:840 作者:胡壯壯 欄目:數(shù)據(jù)庫

    

Order by 子句用于對結(jié)果進(jìn)行排序,執(zhí)行順序位于select子句之后,排序列有4中寫法:

  • column_name

  • column_alias,由于order by子句的執(zhí)行順序位于select子句之后,因此,可以使用列的別名;

  • nonnegative integer,用于表示select子句中column的位置,位置從1開始;

  • Column Expression

也可以指定多列排序,每一列只能出現(xiàn)一次,排序的規(guī)則是先按照第一列排序,其次按照第二排序,然后按照第三列等排序,依次類推。

1,創(chuàng)建示例表數(shù)據(jù)

TSQL order by 子句中排序列的多種寫法

CREATE TABLE [dbo].[dt_test](    [id] [int] NULL,    [code] [int] NULL,    [name] [varchar](10) NULL)

TSQL order by 子句中排序列的多種寫法

2,使用column name

select id,code,name 
from dbo.dt_test dt with(nolock)order by dt.id

TSQL order by 子句中排序列的多種寫法

3,使用Column Alias,order by子句中能夠使用Alias的原因是,SQL Server Engine先執(zhí)行select 子句,后執(zhí)行order by 子句。

select id as OrderID,code,name 
from dbo.dt_test dt with(nolock)order by OrderID

TSQL order by 子句中排序列的多種寫法

4,使用column order來進(jìn)行排序,即使用一個正整數(shù)來表Select clause中column的順序來進(jìn)行排序

select id ,code,name 
from dbo.dt_test dt with(nolock)order by 1

TSQL order by 子句中排序列的多種寫法

5,使用column expression來進(jìn)行排序,執(zhí)行順序是先計算Column Expressino的值,然后對查詢的結(jié)果進(jìn)行排序。

select id ,code,name 
from dbo.dt_test dt with(nolock)order by id+code

TSQL order by 子句中排序列的多種寫法

6,使用column expression來進(jìn)行排序,執(zhí)行順序是先計算Column Expressino的值,然后對查詢的結(jié)果進(jìn)行排序。

select id ,code,name 
from dbo.dt_test dt with(nolock)order by id%3

TSQL order by 子句中排序列的多種寫法


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI