• SQL如何对数据进行排序


    使用 SELECT 语句从表中查询数据时,不保证结果集中的行顺序。 这意味着SQL Server可以返回具有未指定行顺序的结果集。保证结果集中的行已排序的方法是使用 ORER BY 子句。 以下是 ORDER BY 子句的语法:

    SELECT

     select_list

     FROM

     table_name

    ORDER BY

    [column_name | expression] [ASC | DESC ]

    在上面语法中, column_name | expression - 指定要对查询结果集进行排序的列名或表达式。 如果指定多个列,则结果集按第一列排序,然后该排序结果集按第二列排序,依此类推。 ORDER BY 子句中出现的列必须对应于选择列表中的列或 FROM 子句中指定的表中定义的列。 ASC | DESC - 使用 ASC 或 DESC 指定是否应按升序或降序对指定列中的值进行排序。 ASC 将结果从最低值排序到最高值,而 DESC 将结果集从最高值排序到最低值。如果未明确指定 ASC 或 DESC ,则SQL Server将默认使用 ASC 来排序顺序。 此外,SQL Server将 NULL 视为最低值。

    处理具有 ORDER BY 子句的 SELECT 语句时, ORDER BY 子句是要处理的最后一个子句。

    1. 按升序对结果集进行排序

    以下语句按名字按升序对客户列表进行排序:

    SELECT

     first_name,

    last_name

    FROM

     sales.customers

     ORDER BY

     first_name;

    2. 按降序对结果集按一列排序 以下语句按名字降序对客户列表进行排序。

    SELECT

    firstname,

    lastname

    FROM

    sales.customers

     ORDER BY

     first_name DESC;

    3. 按多列对结果集进行排序 以下语句检索客户的名字,姓氏和城市。 它首先按城市对客户列表进行排序,然后按名字排序。

    SELECT

    city,

    first_name,

    last_name

    FROM

     sales.customers

    ORDER BY

    city,

     first_name;

    4. 按多列和不同顺序对结果集进行排序 以下语句按城市按降序对客户进行排序,

    之后按第一个名称按升序对排序结果进行排序。

    SELECT

    city,

    first_name,

     last_name

    FROM

    sales.customers

    ORDER BY

     city DESC,

     first_name ASC;

    5. 按不在选择列表中的列对结果集进行排序, 注意, state 列在 customers 表中定义。 如果不是,那么查询将无效。 可以通过选择列表中未显示的列对结果集进行排序。 例如,以下语句按 state 对客户进行排序,即使 state 列未显示在选择列表中。

    SELECT

    city,

    first_name,

     last_name

    FROM

     sales.customers

    ORDER BY

     state;

    6. 按表达式对结果集进行排序 LEN() 函数返回字符串的字符数。 以下语句使用 ORDER BY 子句中的 LEN() 函数来检索按名字长度排序 客户列表。

    SELECT

    first_name,

    last_name,

    LEN(first_name) as len_name

    FROM

    sales.customers

     ORDER BY

     LEN(first_name) DESC;

    7. 按列的序数位置排序 SQL Server允许根据选择列表中显示的列的序号位置对结果集进行排序。 以下语句按名字和姓氏对客户进行排序。 但是它没有显式指定列名,而是使用列的序号位置:

    SELECT

    first_name,

     last_name

    FROM

    sales.customers

     ORDER BY

     1,

     2;

  • 相关阅读:
    【Spring Boot 3】【Camel 4】静态路由
    MySQL 4 MySQL使用演示(包含基本操作命令~~~)MySQL5.7编码设置
    高忆管理:六连板捷荣技术或难扛“华为概念股”大旗
    程序员如何“升级打怪”?我用了这几个“歪瓜”!
    基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持自定义业务表单流程(一)
    R语言实战应用精讲50篇(二十三)-贝叶斯理论重要概念: 可信度Credibility, 模型Models, 和参数Parameters
    22/8/3-杭电多校5
    SpringBoot部署Jar
    开源笔记leanote搭建记录
    Azure部署的应用程序访问页面页面时加载字体文件(.woff.woff2)出现 404 错误问题
  • 原文地址:https://blog.csdn.net/hjb_nice/article/details/126227902