TSQLorderby子句中排序列的多种写法-创新互联
Order by 子句用于对结果进行排序,执行顺序位于select子句之后,排序列有4中写法:
创新互联建站是一家专业提供宜黄企业网站建设,专注与做网站、网站制作、H5网站设计、小程序制作等业务。10年已为宜黄众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。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
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:TSQLorderby子句中排序列的多种写法-创新互联
网址分享:http://ybzwz.com/article/doijgg.html