在本教程中,我们将学习如何使用SQL MIN函数获取结果集中的最小值。
MIN函数将返回一组值中的最小值。MIN函数忽略空值NULL。
以下是MIN函数的语法:
MIN
(
DISTINCT
or
ALL
表达式)
ALL修饰符指示MIN函数在所有值(包括重复值)中查找最小值。默认情况下,MIN()函数使用ALL修饰符,因此不必显式指定它。
与其他聚合函数(如SUM、COUNT和AVG)不同,DISTINCT修饰符不适用于MIN()函数。DISTINCT修饰符仅用于兼容ISO。
要在products表中查找产品的最低单价,可以使用MIN()函数,如下所示:
SELECT
(unitprice)
FROM
products;
要获得最便宜的产品,必须使用一个子查询,该子查询将使用到MIN()函数:
productid, productname, unitprice
products
WHERE
unitprice = (
products);
外部的查询语句获取单价与子查询返回的最低价格匹配的最便宜产品。如果多个产品的单价与最低价格相同,则查询将返回多行。
要查找每个类别中产品的最低单价,可以使用带有GROUP BY子句的MIN()函数:GROUP BY子句按类别将产品分为多个组。对于每个组,MIN()函数将返回最低单价。
categoryid,
GROUP
BY
categoryid;
要获得最低单价低于7美元的类别,可以对GROUP BY和HAVING子句使用MIN()函数,如下所示:
categoryid
HAVING
(unitprice) < 7;
要获得每个类别中最便宜的产品,可以在相关子查询中使用MIN函数,如下所示:
productid,
productName,
unitprice
products a
products b
b.categoryid = a.categoryid)
外部的查询将扫描products表中的所有行,并返回那些单价与相关子查询返回的每个类别中的最低价格相匹配的产品。
原文链接:https://codingdict.com/