MySQL MIN()函数
简介:在本教程中,您将学习如何使用MySQL MIN()函数在一组值中找到最小值。
MySQL MIN()函数简介
MIN()函数返回一组值中的最小值。
MIN()函数在某些情况下非常有用,例如找到最小的数量,选择最便宜的产品或获得最低的信用额度。
这是MIN函数的基本语法:
MIN(DISTINCT expression);
用这种语法,MIN()函数接受一个表达式,该表达式可以是列,也可以是包含列的有效表达式。
与其他聚合函数(例如SUM(),AVG()和COUNT())一样,DISTINCT对MIN()函数没有影响。
MySQL MIN函数示例
我们将使用示例数据库中的产品表进行演示。
A)使用MySQL MIN()函数在所有行中查找最小值
此查询使用MIN()函数从products表中获取所有产品的最低价格:
SELECT
MIN(buyPrice)
FROM
products;
在此示例中,查询检查产品表的buyPrice列中的所有值,并返回最小值。
B)通过WHERE子句示例使用MySQL MIN()
本示例使用MIN()函数查找所有摩托车的最低购买价:
SELECT
MIN(buyPrice)
FROM
products
WHERE
productline = 'Motorcycles';
在此示例中:
首先,在WHERE子句中指定一个条件,该条件仅获取产品线为Motorcycles的产品。
其次,使用MIN()函数获得所有摩托车的最低购买价。
这是输出:
C)使用MySQL MIN()和子查询示例
要查找价格,还要查找其他产品信息(例如产品代码和产品名称),请在子查询中使用MIN()函数,如以下查询所示:
SELECT
productCode,
productName,
buyPrice
FROM
products
WHERE
buyPrice = (
SELECT
MIN(buyPrice)
FROM
products);
这个怎么运作。
子查询返回产品表中最低购买价格的产品。
外部查询选择购买价格等于子查询返回的最低价格的产品。
D)使用MySQL MIN()函数和GROUP BY示例
像其他聚合函数一样,MIN()函数通常与GROUP BY子句一起使用,以查找每个组的最小值。
本示例将MIN()函数与GROUP BY子句一起使用,以获取每个产品系列的最低购买价产品:
SELECT
productline,
MIN(buyprice)
FROM
products
GROUP BY productline;
在此示例中:
首先,GROUP BY子句按产品线对产品进行分组。
其次,MIN()函数返回每个产品系列中最低购买价格的产品。
E)将MySQL MIN()函数与HAVING子句示例一起使用
该查询查找最低购买价格低于21的产品线:
SELECT
productLine,
MIN(buyPrice)
FROM
products
GROUP BY
productline
HAVING
MIN(buyPrice) < 25
ORDER BY
MIN(buyPrice);
F)将MySQL MIN()与相关子查询一起使用
以下查询通过结合MIN函数和相关子查询来选择每个产品系列中价格最低的产品:
SELECT
productline,
productCode,
productName,
buyprice
FROM
products a
WHERE
buyprice = (
SELECT
MIN(buyprice)
FROM
products b
WHERE
b.productline = a.productline);
在此示例中,对于来自外部查询的每个产品线,相关子查询选择产品线中价格最低的产品并返回最低价格。
然后,将返回的最低价格用作外部查询的输入,以查找相关的产品数据,包括产品线,产品代码,产品名称和购买价格。
如果要在不使用MIN()函数和子查询的情况下获得相同的结果,则可以如下使用自连接:
SELECT
a.productline,
a.productCode,
a.productName,
a.buyprice
FROM
products a
LEFT JOIN products b
ON a.productline = b.productline
AND b.buyprice < a.buyprice
WHERE
b.productcode IS NULL;
在本教程中,您学习了如何使用MySQL MIN()函数在一组值中找到最小值。

