MySql007——检索数据:排序检索数据(ORDER BY的使用,包括排序和取最大最小值)

前提:使用《MySql006——检索数据:基础select语句(使用products表、查询单列、多列、所有列、DISTINCT去除重复行、LIMIT限制返回结果的行数、了解完全限定)》中创建的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;	-- 使用ORDER BY根据prod_price从小到大排序
-- 实际上面应该是这样 ORDER BY prod_price ASC; 即隐藏了ASC

在这里插入图片描述

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数据库学习》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值