SQL MAX 函数

时间:2018-11-15 17:51:35  来源:igfitidea点击:

在本教程中,我们将学习如何在结果集中返回最大值。

SQL MAX 函数介绍

Max()函数将返回集合中的最大值。MAX函数不会将空值NULL带入计算。

MAX 函数语法:

MAX(DISTINCT or ALL 表达式)

ALL修饰符指示MAX函数在包括重复值在内的所有值中找到最大值。默认情况下使用ALL修饰符,因此不必显式指定它。
与MIN()函数类似,DISTINCT修饰符b并不适用于MAX()函数,语法中出现仅用于ISO兼容性。

SQL MAX函数示例

要查找产品的最高单价,可以使用MAX()函数进行查询:

SELECT 
    MAX(unitprice)
FROM
    products;

要获得最贵的产品,需要使用子查询,如下所示:

SELECT 
    productid, productname, unitprice
FROM
    products
WHERE
    unitprice = (
        SELECT 
            MAX(unitprice)
        FROM
            products);

子查询首先返回产品的最高单价。外部的查询根据最高价格查找产品的数据,包括productid, productname 和 unitprice。

带GROUP BY的SQL MAX函数示例

以下查询语句选择每个产品类别中产品的最高单价:

SELECT 
    categoryid, MAX(unitprice)
FROM
    products
GROUP BY categoryid;

GROUP BY子句通过categoryid将产品划分为多个组。对于每个组,MAX()函数返回最高的单价。

带有HAVING子句的SQL MAX函数示例

要获取最高单价大于100美元的类别,可以将MAX()函数与GROUP BY和HAVING子句组合起来,如下所示:

SELECT 
    categoryid, MAX(unitprice) AS maxprice
FROM
    products
GROUP BY categoryid
HAVING maxprice > 100;