排序查询(ORDER BY语句)
排序数据
SELECT * FROM 表名 ORDER BY 列名(要排序的列)
通过非选择列进行排序 通常,ORDERBY子句中使用的列将是为显示所选择的列。但是,实际上并不一定要这样,用非检索的列排序数据是完全合法的。
按多个列排序
SELECT * FROM 表名 ORDER BY 列名1(要排序的列),列名2
按照列1先排序,当列1相同时,按照列2排序
指定排序方向
默认是升序(A~Z字母顺序)排列
SELECT * FROM 表名 ORDER BY 列名
SELECT * FROM 表名 ORDER BY 列名 ASC
降序排列(从Z到A)
SELECT * FROM 表名 ORDER BY 列名 DESC
在多个列上降序排序 如果想在多个列上进行降序排序,必须对每个列指定DESC关键字
区分大小写和排序顺序 在对文本性的数据进行排序时,A与a相同吗?a位于B之前还是位于Z之后?这些问题不是理论问题,其答案取决于数据库如何设置。
在字典(dictionary)排序顺序中,A被视为与a相同,这是MySQL (和大多数数据库管理系统)的默认行为。但是,许多数据库 管理员能够在需要时改变这种行为(如果你的数据库包含大量外语字符,可能必须这样做)。
这里,关键的问题是,如果确实需要改变这种排序顺序,用简单的ORDER BY子句做不到。你必须请求数据库管理员的帮助