您好,登錄后才能下訂單哦!
Order by 子句用于對結果進行排序,執行順序位于select子句之后,排序列有4中寫法:
column_name
column_alias,由于order by子句的執行順序位于select子句之后,因此,可以使用列的別名;
nonnegative integer,用于表示select子句中column的位置,位置從1開始;
Column Expression
也可以指定多列排序,每一列只能出現一次,排序的規則是先按照第一列排序,其次按照第二排序,然后按照第三列等排序,依次類推。
1,創建示例表數據
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先執行select 子句,后執行order by 子句。
select id as OrderID,code,name from dbo.dt_test dt with(nolock)order by OrderID
4,使用column order來進行排序,即使用一個正整數來表Select clause中column的順序來進行排序
select id ,code,name from dbo.dt_test dt with(nolock)order by 1
5,使用column expression來進行排序,執行順序是先計算Column Expressino的值,然后對查詢的結果進行排序。
select id ,code,name from dbo.dt_test dt with(nolock)order by id+code
6,使用column expression來進行排序,執行順序是先計算Column Expressino的值,然后對查詢的結果進行排序。
select id ,code,name from dbo.dt_test dt with(nolock)order by id%3
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。