MySQL必知必会第五章-排序检索数据
排序检索数据
排序数据
不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。
子句(clause) SQL语句由子句构成,有些子句是必需的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。子句的例子有SELECT语句的FROM子句。
为了明确地排序用SELECT语句检索出的数据,可使用ORDER BY子句:
SELECT prod_name FROM products ORDER BY prod_name;
通过非选择列进行排序: 用非检索的列排序数据是完全合法的。
按多个列排序
为了按多个列排序,只要指定列名,列名之间用逗号分开即可:
SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price, prod_name;
重要的是理解在按多个列排序时,排序完全按所规定的顺序进行。
指定排序方向
为了进行降序排序,必须指定DESC关键字:
SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC;
DESC关键字只应用到直接位于其前面的列名,如果想在多个列上进行降序排序,必须对每个列指定DESC关键字:
SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC, prod_name DESC;