第三章 排序数据
时间:2010-11-28 来源:simpleisbest
为了明确地排序用SELECT语句检索出的数据,可以使用ORDER BY子句。 ORDER BY子句取一个或多个列的名字,据此对输出进行排序。
1.按一个列排序
SELECT prod_name FROM Products ORDER BY prod_name; --对prod_name列以字母顺序排序
ORDER BY子句的位置 注意:在指定一条ORDER BY子句时,应保证它是SELECT语句中最后一条子句。
2.按多个列排序
SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price, prod_name; --对按其中两列对结果进行排序,先价格,后名称。列用逗号隔开
多个列排序的顺序
排序的顺序完全按所规定的进行,先对prod_price进行排序,然后对具有相同的prod_price值的行进行prod_name的排序。如果prod_price列中的所有值都是唯一的,则不会再按prod_name排序。
3.按列位置排序
SELECT prod_id, prod_price, prod_name FROM Products ORDER BY 2, 3; --按相对列位置进行排序。2表示prod_price, 3表示prod_name
注意:这种方法需要根据出现在SELECT清单中的列进行排序,没出现的列不能使用。
4.指定排序方向 升序排序(从A到Z)默认的排序方法 关键字:ASC 降序排序(从Z到A)用DESC关键字指定。 关键字:DESC
-- 默认按升序排序 SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price;
--这里按降序排序 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;
相关阅读 更多 +