ANY_VALUE 函数
ANY_VALUE 函数以非确定方式返回输入表达式值中的任何值。如果输入表达式未导致任何行被返回或包含 NULL 值,则此函数可以返回 NULL。
语法
ANY_VALUE ( [ DISTINCT | ALL ] expression )
Arguments
- DISTINCT | ALL
-
指定 DISTINCT 或 ALL 以从输入表达式值中返回任何值。DISTING 参数没有任何效果,将被忽略。
- expression
-
对其执行函数的目标列或表达式。表达式为以下数据类型之一:
SMALLINT
INTEGER
BIGINT
DECIMAL
REAL
DOUBLE PRECISON
BOOLEAN
CHAR
VARCHAR
DATE
TIMESTAMP
TIMESTAMPTZ
TIME
TIMETZ
VARBYTE
SUPER
HLLSKETCH
GEOMETRY
GEOGRAPHY
返回值
返回与 expression 相同的数据类型。
使用说明
如果为列指定 ANY_VALUE 函数的语句也包含第二列引用,则第二列必须出现在 GROUP BY 子句中或包含在聚合函数中。
示例
这些示例使用在《Amazon Redshift 入门指南》的步骤 4:从 Amazon S3 中加载示例数据中创建的事件表。以下示例返回事件名称为 Eagles. 的任何日期 ID 的实例。
select any_value(dateid) as dateid, eventname from event where eventname ='Eagles' group by eventname;
以下是结果。
dateid | eventname -------+--------------- 1878 | Eagles
以下示例返回事件名称为 Eagles 或 Cold War Kids 的任何日期 ID 的实例。
select any_value(dateid) as dateid, eventname from event where eventname in('Eagles', 'Cold War Kids') group by eventname;
以下是结果。
dateid | eventname -------+--------------- 1922 | Cold War Kids 1878 | Eagles