`

SQL Order By

SQL 
阅读更多

到目前为止,我们已学到如何藉由 SELECT 及 WHERE这两个指令将资料由表格中抓出。不过我们尚未提到这些资料要如何排列。这其实是一个很重要的问题。事实上,我们经常需要能够将抓出的资料做一个有系统的显示。这可能是由小往大 (ascending) 或是由大往小(descending)。在这种情况下,我们就可以运用 ORDER BY这个指令来达到我们的目的。

ORDER BY 的语法如下:

SELECT "栏位名"
FROM "表格名"
[WHERE "条件"]
ORDER BY "栏位名" [ASC, DESC]

[ ] 代表 WHERE 不是一定需要的。不过,如果 WHERE 子句存在的话,它是在 ORDER BY 子句之前。 ASC 代表结果会以由小往大的顺序列出,而 DESC 代表结果会以由大往小的顺序列出。如果两者皆没有被写出的话,那我们就会用 ASC。

我们可以照好几个不同的栏位来排顺序。在这个情况下, ORDER BY 子句的语法如下(假设有两个栏位):

ORDER BY "栏位一" [ASC, DESC], "栏位二" [ASC, DESC]

若我们对这两个栏位都选择由小往大的话,那这个子句就会造成结果是依据 "栏位一" 由小往大排。若有好几笔资料 "栏位一" 的值相等,那这几笔资料就依据 "栏位二" 由小往大排。

举例来说,若我们要依照 Sales 栏位的由大往小列出 Store_Information 表格中的资料,

Store_Information 表格

store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
San Francisco $300 Jan-08-1999
Boston $700 Jan-08-1999

 

 

我们就打入,

SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY Sales DESC

结果:

 

store_name Sales Date
Los Angeles $1500 Jan-05-1999
Boston $700 Jan-08-1999
San Francisco $300 Jan-08-1999
San Diego $250 Jan-07-1999

 

 

 

在以上的例子中,我们用栏位名来指定排列顺序的依据。除了栏位名外,我们也可以用栏位的顺序 (依据 SQL 句中的顺序)。在 SELECT 后的第一个栏位为 1,第二个栏位为 2,以此类推。在上面这个例子中,我们打以下这一句 SQL 可以达到完全一样的效果:

 

 

SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY 2 DESC

分享到:
评论

相关推荐

    SQL 语法 SQL 总结 SQL教程

    SQL Order By SQL insert SQL update SQL delete SQL 高级 SQL Top SQL Like SQL 通配符 SQL In SQL Between SQL Aliases SQL Join SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL ...

    SQL order by ID desc/asc加一个排序的字段解决查询慢问题

    在SQL查询中,当面临查询性能问题,特别是涉及到`ORDER BY`子句时,优化查询策略至关重要。在给定的问题中,"SQL order by ID desc/asc加一个排序的字段解决查询慢问题"是一个常见的数据库优化技巧。这个问题的根源...

    为什么SQL不许在视图定义ORDER BY子句

    然而,当你尝试在创建视图时使用`ORDER BY`子句,SQL Server会报错,因为这不符合ANSI SQL-92标准。这个标准规定视图不应该包含任何影响结果集顺序的操作,如`ORDER BY`,主要是出于以下几个原因: 1. **可重用性**...

    sql中 order by 和 group by的区别

    order by 从英文里理解就是行的排序方式,默认的为升序。 order by 后面必须列出排序的字段名,可以是多个字段名。 group by 从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志...

    union all与order by用法

    UNION ALL 和 ORDER BY 是 SQL 语言中的两个基本操作符,分别用于合并查询结果和排序数据。在 Oracle PL/SQL 中, UNION ALL 和 ORDER BY 的使用需要遵循一定的规则和限制。本文将详细介绍 UNION ALL 和 ORDER BY 的...

    SQL语句常用汇总

    SELECT * FROM 数据表 WHERE 字段名 LIKE '%字段值%' ORDER BY 字段名 [DESC]; ``` 6. **选取顶部N条记录**: `TOP`关键字可以选取指定数量的记录,如取前10条: ```sql SELECT TOP 10 * FROM 数据表 WHERE ...

    DB2性能监控SQL

    ORDER BY elapsed_time_min DESC FETCH FIRST 5 ROWS ONLY; ``` 这里,`elapsed_time_min`表示SQL执行的时间(单位:分钟),`appl_status`表示应用程序的状态,而`agent_id`则标识了执行该SQL的应用程序代理。 ...

    Sql 语句详解

    6. SQL ORDER BY 子句 9 7. SQL INSERT INTO 语句 11 8. SQL UPDATE 语句 12 9. SQL DELETE 语句 13 10. SQL TOP 子句 13 11. SQL LIKE 操作符 15 12. SQL 通配符 16 13. SQL IN 操作符 18 14. SQL BETWEEN 操作符 ...

    group by + order by

    在数据库查询语言 SQL(Structured Query Language)中,`GROUP BY` 和 `ORDER BY` 是两个非常重要的子句,它们可以帮助我们更高效地管理和展示数据。 #### GROUP BY 子句 `GROUP BY` 主要用于将数据表中的数据...

    Like-and-OrderBy.rar_sql like order by

    在SQL语言中,LIKE和ORDER BY是两个非常重要的关键字,它们分别用于数据的查询和排序。今天我们将深入探讨这两个概念,以及它们在T-SQL(Transact-SQL,微软SQL Server中的SQL方言)中的具体应用。 首先,我们来...

    2个SQL优化语句,查询出来哪条SQL语句占据资源最多.rar

    3. **Top N查询**:找出占用资源最多的N个查询是优化的常见策略,可以通过`ORDER BY`和`LIMIT`子句实现。 4. **百分比选择**:找出特定比例的查询,如最常执行的20%,可以用于定位频繁操作,以便进一步优化。 5. *...

    SQL数据库自学资料

    8. **SQL ORDER BY**:用于对结果集进行排序。例如,`SELECT * FROM Store_Information ORDER BY Sales DESC;`将按销售额降序排列。 9. **SQL函数**:如`COUNT()`用于计算行数,`SUM()`用于求和等。 10. **SQL ...

    SQL高手速成SQL语法教学

    SQL ORDER BY - **用途**:用于对结果集进行排序。 - **语法示例**: ```sql SELECT column_name(s) FROM table_name ORDER BY column_name ASC|DESC; ``` - **实例**: ```sql SELECT name, salary FROM ...

    SQL万能语句

    7. **ORDER BY子句**:对结果集排序。 #### 三、SQL语句详解 1. **多表连接** 给定SQL语句使用了两种不同的连接方式:显式连接和隐式连接。 - **显式连接**:通过`JOIN`关键字明确指定连接类型。 ```sql ...

    SQL语句大全

    #### 七、SQL ORDER BY 子句 - **基本语法**:用于按指定列对结果集进行排序。 - 升序(默认): ```sql SELECT * FROM Persons ORDER BY LastName; ``` - 降序: ```sql SELECT * FROM Persons ORDER BY ...

    SuperMap Objects .NET SQL查询使用OrderBy属性

    综上所述,SuperMap Objects .NET通过`OrderBy`和`GroupBy`属性提供了强大的SQL查询能力,帮助开发者处理和展示地理空间数据。理解并熟练运用这两个属性,可以有效地提高GIS应用的效率和用户体验。在提供的`SQLQuery...

    Lambda表达式转sql

    该方法接收一个泛型Lambda表达式`Expression, object>> exp`,并返回一个字符串表示的SQL ORDER BY子句。 1. **UnaryExpression处理**:如果表达式体是一个单目运算,例如负号或取反等,会继续调用`...

    DB2中查找消耗CPU的SQL

    - 查看视图中的数据,使用命令:`db2 "SELECT AVERAGE_EXECUTION_TIME_S, stmt_sorts, stmt_text FROM SYSIBMADM.TOP_DYNAMIC_SQL ORDER BY AVERAGE_EXECUTION_TIME_S"`。 - 观察返回结果,其中`AVERAGE_EXECUTION...

    sql最全的常用命令语句

    SELECT TOP 100 usecounts, objtype, p.size_in_bytes, [sql].[text] FROM sys.dm_exec_cached_plans p OUTER APPLY sys.dm_exec_sql_text(p.plan_handle) sql ORDER BY usecounts, p.size_in_bytes desc;...

Global site tag (gtag.js) - Google Analytics