MySQL 必知必会 第5章 排序检索数据(ORDER BY) 笔记
排序数据
- 复习:返回单个列:
SELECT prod_name
FROM products;
- 其结果是无序的
- 子句(clause):SQL 语句由子句构成,有些必须,有些可选。一个子句通常由一个关键字和所提供的数据组成(例:SELECT中的 FROM 子句)
ORDER BY
:可以对输出进行排序
SELECT prod_name
FROM products
ORDER BY prod_name;
- 注意:可以使用非选择的列进行排序,比如
SELECT prod_name
FROM products
ORDER BY prod_id;
按多个列排
- 首先按价格,然后按名称排序:
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;
- 先按价格降序排列,再按名字排
SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price DESC, prod_name;
-
注意:
DESC
只作用到位于其前面的列名,因此上述的意义是先按价格降序,再按名字升序 -
如果想要在多个列上降序,那么每个列名后面都要写上
DESC
-
与其相对的升序是
ASC
,由于升序是默认的,因此可以不写 -
用
ORDER BY, LIMIT
可以找出一个列中最高或最低的值:
SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;
- 注意:要确保
ORDER BY
在FROM
子句的后面,确保LIMIT
在ORDER BY
子句的后面