MAX 函数

max([distinct] expr)

功能描述

MAX 函数用于从一组数据中找出最大值。该函数适用于多种数据类型,包括数值型、时间型和字符串型等。

参数说明

  • expr: 可比较的数据类型,支持的类型包括:
    • 数值类型:tinyint、smallint、int、bigint、float、double 和 decimal;
    • 时间类型:date 和 timestamp;
    • 字符串类型:char、varchar、string 和 binary。
  • distinct: 可选参数,用于指定是否去除重复值。若设置 distinct,则返回去重后的集合中的最大值。注意,对于数值型数据,distinct 并不会对结果产生影响。

返回值

  • 返回值的类型与输入参数 expr 的类型相同。
  • 如果输入参数中包含 null 值,则这些值不会参与计算。
  • 设置 distinct 参数不会影响数值型数据的结果。

使用示例

  1. 求数值型数据的最大值:
SELECT max(col) FROM VALUES (10), (50), (20), (null) AS tab(col);
+------------+
| `max`(col) |
+------------+
| 50         |
+------------+
  1. 求时间型数据的最大值:
SELECT max(col) FROM VALUES ('2023-01-01'), ('2022-12-31'), ('2023-02-01') AS tab(col);
+------------+
| `max`(col) |
+------------+
| 2023-02-01 |
+------------+
  1. 求字符串型数据的最大值:
SELECT max(col) FROM VALUES ('apple'), ('banana'), ('cherry') AS tab(col);
+------------+
| `max`(col) |
+------------+
| cherry     |
+------------+
  1. 使用 distinct 参数求数值型数据的最大值(对结果无影响):
SELECT max(distinct col) FROM VALUES (10), (50), (20), (null), (10) AS tab(col);
+---------------------+
| `max`(DISTINCT col) |
+---------------------+
| 50                  |
+---------------------+
  1. 使用 distinct 参数求字符串型数据的最大值:
SELECT max(distinct col) FROM VALUES ('apple'), ('banana'), ('cherry'), ('apple') AS tab(col);
+---------------------+
| `max`(DISTINCT col) |
+---------------------+
| cherry              |
+---------------------+

联系我们
预约咨询
微信咨询
电话咨询