• TSQL order by 子句中排序列的多种写法


    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

  • 相关阅读:
    HTML DOM教程 14HTML DOM Document 对象
    HTML DOM教程 19HTML DOM Button 对象
    HTML DOM教程 22HTML DOM Form 对象
    HTML DOM教程 16HTML DOM Area 对象
    ubuntu 11.04 问题 小结
    VC6.0的 错误解决办法 小结
    boot.img的解包与打包
    shell里 截取字符串
    从零 使用vc
    Imagemagick 对图片 大小 和 格式的 调整
  • 原文地址:https://www.cnblogs.com/ljhdo/p/4883198.html
Copyright © 2020-2023  润新知