前提:使用《MySql006——检索数据:基础select语句》中创建的products表
一、抛出问题
如果我们向获得products表中所有商品名称和价格,可以这些检索数据
SELECT
prod_name, prod_price
FROM
products;
但是发现这些价格是乱序的,即没有从大到小,或从小到大输入
二、使用ORDER BY子句排序数据
为什么排序SELECT 子句检索的数据,可使用ORDER BY子句。ORDER BY子句取一个或多个列的名字,据此对输出进行排序。
2.1、按一个列排序
2.1.1、默认按从小到大排序
SELECT
prod_name, prod_price
FROM
products
ORDER BY prod_price; -- 根据prod_price从小到大排序
2.1.2、指定按从小到大排序
在ORDER BY子句中指定ASC关键字
SELECT
prod_name, prod_price
FROM
products
ORDER BY prod_price ASC; -- 指定ASC关键字
2.1.3、指定按从大到小排序
在ORDER BY子句中指定DESC关键字
SELECT
prod_name, prod_price
FROM
products
ORDER BY prod_price DESC; -- 指定DESC关键字
2.2、按多个列排序
2.2.1、默认按从小到大排序
下面的代码检索3个列,并按其中两个列对结果进行排序——首先按价格,然后再按名称排序。
SELECT
prod_id, prod_price, prod_name
FROM
products
ORDER BY prod_price, prod_name;
重点理解:仅在多个行具有相同的prod_price值时才对产品按prod_name进行排序。如果prod_price列中所有的值都是唯一的,则不会按prod_name排序。
2.2.2、指定排序顺序
SELECT
prod_id, prod_price, prod_name
FROM
products
ORDER BY prod_price ASC , prod_name DESC;
三、取最大值/最小值
使用ORDER BY和LIMIT的组合能够找出一个列中最高或最低的值。
3.1、取最大值
SELECT
prod_id, prod_price, prod_name
FROM
products
ORDER BY prod_price DESC
LIMIT 1;
3.2、取最小值
SELECT
prod_id, prod_price, prod_name
FROM
products
ORDER BY prod_price ASC
LIMIT 1;
与君共享
👉👉👉👉👉最后,有兴趣的小伙伴可以点击下面链接,这里有我整理的MySQL学习博客内容,谢谢~ 🌹🌹🌹🌹🌹
《MySQL数据库学习》