使用 SELECT 语句返回某个数据库表的单个列,是没有特定顺序的
SELECT prod_name FROM products;
数据一般以最初添加到表的顺序展现,如果数据后来进行过更新或删除,则此顺序将会受到 MySQL 重用回收存储空间的影响。因此,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义
SELECT prod_name FROM products ORDER BY prod_name;
这条语句指示 MySQL 对 prod_name 列以字母顺序排序数据。ORDER BY 自居使用的列可以是将显示的列,也可以不是
如果要按多个列排序,只要指定列名,列名之间用逗号隔开。排序完全按规定的顺序进行
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 相反的关键字是 ASC,升序是默认的,可以不指定
下面看一个例题,使用 ORDER BY 和 LIMIT 的组合,找出一个列中最高或最低的值
SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;