本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ANY_ VALUE 函數
該 ANY _ VALUE 函數從非確定性的輸入表達式值返回任何值。如果輸入表達式不會傳回任何資料列,此函數會傳回 NULL
。如果輸入表達式中有 NULL
值,函數也會傳回 NULL
。
語法
ANY_VALUE( [ DISTINCT | ALL ] expression )
引數
- DISTINCT | ALL
-
指定DISTINCT或ALL從輸入運算式值傳回任何值。該DISTINCT參數沒有效果,並被忽略。
- expression
-
函數運算的目標欄或運算式。expression 是下列其中一種資料類型:
SMALLINT
INTEGER
BIGINT
DECIMAL
REAL
DOUBLE PRECISON
BOOLEAN
CHAR
VARCHAR
DATE
TIMESTAMP
TIMESTAMPTZ
TIME
TIMETZ
INTERVALYEAR至 MONTH
INTERVALDAY至 SECOND
VARBYTE
SUPER
HLLSKETCH
GEOMETRY
GEOGRAPHY
傳回值
傳回與 expression 相同的資料類型。
使用須知
如果指定資料行 ANY _ VALUE 函數的陳述式也包含第二個資料行參照,則第二個資料行必須出現在 GROUP BY 子句中,或包含在彙總函數中。
範例
這些範例使用《Amazon Redshift 入門指南》中的步驟 4:從 Amazon S3 載入範例資料中建立的事件表格。下列範例會傳回事件名稱為 Eagles 的任何 dateid 的執行個體。
select any_value(dateid) as dateid, eventname from event where eventname ='Eagles' group by eventname;
以下是結果。
dateid | eventname -------+--------------- 1878 | Eagles
下列範例會傳回事件名稱為 Eagles 或 Cold War Kids 的任何 dateid 的執行個體。
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