ANY_VALUE 函数

any_value(expr) [FILTER (WHERE condition)]

功能描述

ANY_VALUE
ANY_VALUE
函数用于从一组数据中随机选择并返回一个值。当处理多个数据行时,此函数可以简化查询并提高效率。

参数说明

  • expr
    expr
    :任何数值类型(如
    TINYINT
    TINYINT
    SMALLINT
    SMALLINT
    INT
    INT
    BIGINT
    BIGINT
    FLOAT
    FLOAT
    DOUBLE
    DOUBLE
    DECIMAL
    DECIMAL
    )或字符串类型(如
    STRING
    STRING
    CHAR
    CHAR
    VARCHAR
    VARCHAR
    )或复杂类型的表达式。

返回结果

  • 返回与输入参数
    expr
    expr
    类型相同的值。
  • 如果输入参数中包含
    NULL
    NULL
    值,
    NULL
    NULL
    值也会被计算在内。

使用示例

  1. 从一组整数中随机选择一个值:

SELECT any_value(col) FROM VALUES (1), (2), (3), (4), (NULL) AS tab(col); +------------------+ | any_value(`col`) | +------------------+ | 1 | +------------------+

  1. 从一组字符串中随机选择一个值:

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

  1. 在复杂的查询中使用
    ANY_VALUE
    ANY_VALUE
    函数:

SELECT any_value(city) FROM customers WHERE country = 'China'; +--------------------+ | any_value(`city`) | +--------------------+ | Beijing | +--------------------+

  1. 从包含
    NULL
    NULL
    值的数据中随机选择一个值:

SELECT any_value(col) FROM VALUES (CAST(NULL AS INT)), (5), (6) AS tab(col); +------------------+ | any_value(`col`) | +------------------+ | 5 | +------------------+

  1. 使用 FILTER 子句条件性地选择值:

SELECT any_value(col) FILTER (WHERE col > 2) FROM VALUES (1), (2), (3), (4) AS tab(col); +-------------------------------------------+ | any_value(`col`) FILTER (WHERE (col > 2)) | +-------------------------------------------+ | 3 | +-------------------------------------------+

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