mysql---数据排序检索

本文介绍如何在关系数据库中使用ORDER BY子句进行数据排序的方法,包括单列排序、多列排序及指定排序方向等,并提供了最大值和最小值查询的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 排序数据

关系数据库设计理论认为,如果没有明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。可以使用ORDER BY对输出进行排序。

SELECT prod_name
FROM products
ORDER BY prod_name;

使用非选择列排序 通常使用被选择的列进行排序,但也可以使用其他列作为排序依据,排序被选择的列

2. 按多个列排序

很多应用场景下需要按照多个排序依据进行排序,例如显示雇员清单,一般按照姓和名排序,即首先按照姓排序,如果多个雇员同姓就按照名排序。
实现多个列排序,只要指定列名,在列名之间使用逗号分开即可

SELECT prod_id, prod_price, prod_name
FROM products
ORDER BY prod_price, prod_name;

对于上述的排序方法,仅仅在有多个相同的prod_price的值时,才会按照prod_name进行排序,如果没有相同的prod_price那么就只按照prod_price排序。

3. 指定排序方向

数据默认升序排序,也可以降序排序,使用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关键字值应用到其前面的列名,因此prod_name仍然按照升序排序
如果想要多个列都降序排序,必须对每一个列都制定DESC关键字
与DESC相反的关键字是ASC,这个可以指定,但这个是默认的,指定不指定都是一样的。

3.1 最大最小值

最大值:

SELECT prod_price
FROM products
ORDER BY prod_price DESC
LIMIT 1;

最小值

SELECT prod_price
FROM products
ORDER BY prod_price
LIMIT 1;

ORDER BY 必须在FROM之后,
LIMIT必须在ORDER之后

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值