任意值函數 - Amazon Redshift

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

任意值函數

ANY_VALUE 函數不確定地返回來自輸入表達式值的任何值。如果輸入表達式未導致返回任何行或包含 NULL 值,則此函數可以返回 NULL。

Syntax (語法)

ANY_VALUE ( [ DISTINCT | ALL ] expression )

引數

DISTINCT | ALL

指定 DISTICT 或 ALL 以返回輸入表達式值中的任何值。DISTINT 參數沒有任何效果,因此將被忽略。

expression

函數運算的目標欄或表達式。所以此表達是下列資料類型之一:

  • SMALLINT

  • INTEGER

  • BIGINT

  • DECIMAL

  • REAL

  • DOUBLE PRECIS

  • BOOLEAN

  • CHAR

  • VARCHAR

  • DATE

  • TIMESTAMP

  • TIMESTAMPTZ

  • TIME

  • 時間

  • 變量字節

  • 超級

  • 草圖

  • GEOMETRY

  • GEOGRAPHY

傳回值

傳回與 expression 相同的資料類型。

使用須知

如果為列指定 ANY_VALUE 函數的語句也包括第二列引用,則第二列必須出現在 GROUP BY 子句中,或者包括在集合函數中。

範例

這些示例使用在步驟 6:從 Amazon S3 載入範例資料中的Amazon Redshift 入門指南。以下示例返回任何日期 ID 的實例,其中事件名稱為 Eagles。

select any_value(dateid) as dateid, eventname from event where eventname ='Eagles' group by eventname;

以下是結果。

dateid | eventname -------+--------------- 1878 | Eagles

以下示例返回任何日期 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