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()函数在一组值中找到最小值。