5.1排序数据
子句: SQL语句由子句构成,有些子句是必须的,而有的是可选的。一个子句通常由一个关键字和所提供的数据组 成。子句的例子有SELECT语句的FROM子句。
ORDER BY子句:
ORDER BY: SELECT prod_name FROM products ORDER BY prod_name
分析: 选择prodects的prod_name列,对prod_name列按照字母升序
通过非选择的列进行排序:依据没有选择显示的列进行排序是合法的。
5.2按多个列排序
指定列名同时列名之间用逗号分开即可。
多个列排序: SELECT prod_id,pro_price,prod_name FROM products ORDER BY prod_price,prod_name;
分析: 仅在多个行具有相同的prod_price值时才对产品按prod_name进行排序。如果prod_price列中所有的值是唯一的,则不会按prod_name排序
5.3指定排序方向
为了进行降序排序, 必须指定DESC关键字(默认是升序,关键字是ASC)(关键字只对修饰的单个列有效)
指定排序方向:** SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC;
**分析:**以价格降序排序产品
多个列排序: SELECT prod_id,prod_price,prod_name FROM products ORDER BY prod_price DESC,prod_name;
分析: DESC 关键字只应用到直接位于其前面的列名,prod_price列指定DESC,对prod_name列不指定。因此,prod_price列以降序排序,而prod_name仍然按标准的升序排序,如果想在多个列进行降序排序,必须对每个列指定DESC关键字
提示:使用ORDER BY和LIMIT的组合,能够找出一个列中最高或最低的值。
例子:SELECT prod_price FROM products ORDER BY prod_price DESC LIMIT 1;
分析:找出最昂贵物品的价格
提示:ORDER BY子句在FROM子句之后,LIMIT子句再ORDER BY子句之后
5.4小结
本章学习了如何用SELECT语句的ORDER BY子句对检索出的数据进行 排序。这个子句必须是SELECT语句中的最后一条子句。可根据需要,利 用它在一个或多个列上对数据进行排序。