乐闻世界logo
搜索文章和话题

MySQL在两个(或多个)给定值中选择最小值/最大值

4 个月前提问
2 个月前修改
浏览次数17

1个答案

1

在MySQL中,选择两个或多个给定值中的最小值或最大值可以使用LEASTGREATEST函数来实现。

例子1:使用LEAST函数

LEAST函数返回所有给定参数中的最小值。比如,如果你想比较几个数值并找出最小的一个,可以如下使用:

sql
SELECT LEAST(34, 7, 23, 99, 15) AS smallest_value;

这条SQL语句会返回7,因为在34, 7, 23, 99, 15中,7是最小的。

例子2:使用GREATEST函数

LEAST函数相对的是GREATEST函数,它返回所有给定参数中的最大值。比如,使用GREATEST函数来找出几个数值中的最大值:

sql
SELECT GREATEST(34, 7, 23, 99, 15) AS largest_value;

这条SQL语句会返回99,因为在34, 7, 23, 99, 15中,99是最大的。

实际应用场景

假设你有一个订单表orders,其中有列pricediscount_price,你想找出对客户实际的最小支付价格,可以使用LEAST函数来比较原价和折扣价:

sql
SELECT order_id, LEAST(price, discount_price) AS minimum_payment FROM orders;

这个查询会为每个订单返回实际的最小支付金额,通过比较原价price和折扣价discount_price的值来实现。

通过这样的函数,MySQL提供了一种简便、高效的方法来处理多个值之间的比较,无论是寻找最大值还是最小值,都能够快速得到结果。这在数据分析和日常的数据库操作中非常有用。

2024年7月5日 10:42 回复

你的答案