您好,登錄后才能下訂單哦!
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ù)
CREATE TABLE [dbo].[dt_test]( [id] [int] NULL, [code] [int] NULL, [name] [varchar](10) NULL)
2,使用column name
select id,code,name from dbo.dt_test dt with(nolock)order by dt.id
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
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
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
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
免責(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)容。