`

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基础(二)】【SQL WHERE 子句+引号的使用+SQL AND & OR 运算符+SQL ORDER BY 子句】

    文章目录SQL WHERE 子句引号的使用SQL AND & OR 运算符SQL ORDER BY 子句 SQL WHERE 子句 WHERE 子句用于规定选择的标准。 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。 语法 SELECT 列名称 ...

    sql中 order by 和 group by的区别

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

    SQL语句常用汇总

    <br>Sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" <br>Sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" 模糊查询 <br>Sql="select ...

    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 操作符 ...

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

    解决方法就是在order by ID desc再加一个排序的字段,这样子可能会把速度提高很多。再加止排序的字段因查询而异了 如表 代码如下: CREATE TABLE [dbo].[CMPP_SendCentre] ( [id] [int] IDENTITY (1, 1) NOT NULL , ...

    union all与order by用法

    union all与order by用法,并详细举例,oracle pl/sql

    sql最全的常用命令语句

    CROSS APPLY sys.dm_exec_sql_text( s.sql_handle ) t ORDER BY s.max_physical_reads DESC SELECT SUM(signal_wait_time_ms) AS total_signal_wait_time_ms总信号等待时间 , SUM(wait_time_ms - signal_...

    SQL百万级数据库优化大全

    SQL百万级数据库优化大全,是对sql各方面优化的总结和案例引导,避免全表扫描等方面的性能优化。

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

    SQL Server之所以不允许在视图定义中使用ORDER BY子句是为了遵守ANSI SQL-92标准。因为对该标准的原理分析需要对结构化查询语言(SQL)的底层结构和它所基于的数学理论进行讨论,我们不能在这里对它进行充分的解释。...

    Like-and-OrderBy.rar_sql like order by

    T-SQL中like和order by 语句的使用,以及之间的区别

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

    对矢量数据进行SQL查询,使用OrderBy 和GroupBy的属性控制查询方式。

    MySQL中union和order by同时使用的实现方法

    1、如果直接用如下sql语句是会报错:Incorrect usage of UNION and ORDER BY。 SELECT * FROM t1 WHERE username LIKE ‘l%’ ORDER BY score ASC UNION SELECT * FROM t1 WHERE username LIKE ‘%m%’ ORDER BY ...

    sql学习 索引特性之有序优化order by.sql

    sql学习 索引特性之有序优化order by.sql

    SQL-ORDER BY 多字段排序(升序、降序)

    ORDER BY _column1, _column2; /* _column1升序,_column2升序 */ ORDER BY _column1, _column2 DESC; /* _column1升序,_column2降序 */ ORDER BY _column1 DESC, _column2 ; /* _column1降序,_column2升序 */ ...

    SQL的ORDER BY 关键字,INSERT INTO语句,UPDATE语句,DELETE语句

    SQL的ORDER BY 关键字,INSERT INTO语句,UPDATE语句,DELETE语句 ORSER BY 关键字 ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。默认为升序,如果想要降序排列,需要DESC关键字 ORDER BY的语法 ...

    SqlServer按中文数字排序

     select * from LiWei order by name  找到中文数字在'一二三四五六七八九十'的位置  select id,name,SUBSTRING(name,2,1) as 中文数字,charindex(SUBSTRING(name,2,1),'一二三四五六七八九十') ...

    LINQ to SQL语句之Join和Order By

    LINQ to SQL语句之Join和Order By部分代码 语句描述:这个例子在From子句中使用外键导航筛选在西雅图的雇员,同时列出其所在地区。这条生成SQL语句为: SELECT [t0].[FirstName], [t0].[LastName], [t2]....

    SQL学习五-having,order by, limit

    SQL学习五-having,order by, limit

Global site tag (gtag.js) - Google Analytics