ANY_ VALUE 函數 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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