第五章 排序检索数据
-
子句(clause):SQL语句由子句构成,有些子句是必需的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。例子:SELECT语句的FROM子句。
-
ORDER BY子句:取一个或多个列的名字,据此对输出进行排序。
-
单个列排序
# 指示MySQL对column_name列以字母顺序排序数据 SELECT column_name FROM table1_name ORDER BY column_name;
通过非选择列进行排序:ORDER BY子句中使用的列将是为显示所选择的列。但是,用非检索的列排序数据是完全合法的。
-
多个列排序
# 首先按column1_name,然后再按column2_name排序...仅在多个行具有相同的column1_name值时才按column2_name进行排序。 SELECT column1_name,column2_name,... FROM table1_name ORDER BY column1_name,column2_name,...;
-
-
DESC关键字:DESC关键字只应用到直接位于其前面的列名,如果想在多个列上进行降序排序,必须对每个列指定DESC关键字。
-
ASC关键字:与DESC相反的关键字是ASC(ASCENDING),在升序排序时可以指定它
- 指定排序方向
- ASC 升序排序(从A到Z):默认的排序顺序
- DESC 降序排序(从Z到A)
- 指定排序方向
-
区分大小写和排序顺序:在字典(dictionary)排序顺序中,A被视为与a相同,这是MySQL(和大多数数据库管理系统)的默认行为。但是,许多数据库
管理员能够在需要时改变这种行为(如果你的数据库包含大量外语字符,可能必须这样做)。关键的问题是,如果确实需要改变这种排序顺序,用简单的ORDER BY子句做不到。 -
ORDER BY和LIMIT的组合,能够找出一个列中最高或最低的值。
SELECT column_name FROM table1_name ORDER BY column_name DESC LIMIT 1;