MIN

min([DISTINCT] expr) [FILTER (WHERE condition)]

功能描述

MIN
MIN
函数用于从一组数据中找出最小值。该函数支持多种数据类型,包括数值类型(如
TINYINT
TINYINT
、
SMALLINT
SMALLINT
、
INT
INT
、
BIGINT
BIGINT
、
FLOAT
FLOAT
、
DOUBLE
DOUBLE
和
DECIMAL
DECIMAL
)、时间类型(如
DATE
DATE
和
TIMESTAMP
TIMESTAMP
)、字符串类型(如
CHAR
CHAR
、
VARCHAR
VARCHAR
和
STRING
STRING
)以及
BINARY
BINARY
类型。

参数说明

  • expr
    expr
    :可比较的数据类型,包括数值类型、时间类型和字符串类型。

返回结果

  • 返回值类型与输入参数类型相同。
  • 若设置
    DISTINCT
    DISTINCT
    关键字,则计算去重后的集合中的最小值,但对结果无影响。
  • NULL
    NULL
    值不参与计算。

使用示例

  1. 从一组数值中找出最小值:

SELECT min(col) FROM VALUES (10), (50), (20), (NULL) AS tab(col); +------------+ | `min`(col) | +------------+ | 10 | +------------+

  1. 从一组时间类型数据中找出最小值:

SELECT min(col) FROM VALUES ('2023-01-01'), ('2022-12-31'), ('2023-02-01') AS tab(col); +------------+ | `min`(col) | +------------+ | 2022-12-31 | +------------+

  1. 从一组字符串类型数据中找出最小值:

SELECT min(col) FROM VALUES ('apple'), ('banana'), ('cherry') AS tab(col); +------------+ | `min`(col) | +------------+ | apple | +------------+

  1. 使用
    DISTINCT
    DISTINCT
    关键字从一组数值中找出最小值(对结果无影响):

SELECT min(DISTINCT col) FROM VALUES (10), (50), (20), (NULL), (10), (20) AS tab(col); +---------------------+ | `min`(DISTINCT col) | +---------------------+ | 10 | +---------------------+

  1. 使用 FILTER 子句条件性地找出最小值:

SELECT min(col) FILTER (WHERE col > 15) FROM VALUES (10), (20), (50), (NULL) AS tab(col); +---------------------------------------+ | `min`(col) FILTER (WHERE (col > 15)) | +---------------------------------------+ | 20 | +---------------------------------------+

  1. 结合 FILTER 子句和 DISTINCT 找出条件最小值:

SELECT min(DISTINCT col) FILTER (WHERE col < 50) FROM VALUES (10), (10), (20), (50) AS tab(col); +------------------------------------------------------+ | `min`(DISTINCT col) FILTER (WHERE (col < 50)) | +------------------------------------------------------+ | 10 | +------------------------------------------------------+

通过以上示例,你可以看到

MIN
MIN
函数在不同数据类型中的应用。请注意,
NULL
NULL
值不参与计算。

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