在mysql中,小学生容易搞混的 min()和least() ?

作为mysql新手,在学习的时候,常常听到老师讲 min()函数是返回最小值;  least()是比较运算,返回参数的最小值。

所以很容易懵了,到底该用哪个呢? 还是说2个都可以用哦?

那我们先来看看两者的语法区别:

MIN()和LEAST()的语法分别是:

MIN([DISTINCT] expr) [over_clause]   -- MySQL MIN() 函数用于返回一组值中的最小值。它在查找最小数字、选择最便宜的产品或获取最低信用额度等场景中非常有用

LEAST(value1,value2,...)

因此MIN()函数接收不同的关键字和OVER子句(而LEAST()函数不接收)。

这两个函数的主要区别在于它们接受的参数。

具体地说:

1.MIN()接收一个参数

2.LEAST()接收多个参数

                        
所以它们的用途和适用场景不同。以下是它们的区别和为什么在查询字段的最小值时通常使用 MIN()而不是LEAST():

1. MIN()` 的用途
- - MIN()是一个聚合函数,用于从表中的一列中找到最小值。
-- 它通常用于统计整个表或分组后的数据。
- 示例:  

  SELECT MIN(salary) AS min_salary FROM employees;

  这条语句会返回 employees 表中 salary列 中的最小值。

 2. LEAST()` 的用途
--LEAST() 是一个比较函数,用于比较多个值并返回其中最小的那个值。
- -它通常用于比较列中的值或表达式,而不是直接从表中查询最小值。
- 示例:
 

  SELECT LEAST(salary1, salary2, salary3) AS smallest_salary FROM employees;

  这条语句会比较每一行中的 `salary1`、`salary2` 和 `salary3`,并返回每行中最小的值。

 3. 为什么不用 LEAST()查询字段的最小值?
-- LEAST() 不适用于整个列: LEAST()  是逐行操作的函数,它会比较每一行中的多个值,而不是在整个列中查找最小值。
-- MIN()更适合统计需求:MIN() 是专门设计用来从一列中找到最小值的,它可以直接作用于整个列,而不需要逐行比较。

 总结:
--  如果你想从表的某一列中找到最小值,应该使用    MIN()  。
--  如果你需要比较多个值(例如同一行中的多个字段),可以使用   LEAST()。

你学废了吗?! 😊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值