Função ANY_VALUE
A função ANY_VALUE retorna qualquer valor dos valores de expressão de entrada não deterministicamente. Essa função retornará NULL
se a expressão de entrada não resultar no retorno de nenhuma linha. A função também poderá retornar NULL
se houver valores NULL
na expressão de entrada.
Sintaxe
ANY_VALUE( [ DISTINCT | ALL ] expression )
Argumentos
- DISTINCT | ALL
-
Especifique DISTINCT ou ALL para retornar qualquer valor dos valores de expressão de entrada. O argumento DISTINCT não tem efeito e é ignorado.
- expressão
-
A coluna ou expressão de destino na qual a função opera. A expressão é um destes tipos de dados:
SMALLINT
INTEGER
BIGINT
DECIMAL
REAL
DOUBLE PRECISION
BOOLEAN
CHAR
VARCHAR
DATA
TIMESTAMP
TIMESTAMPTZ
TIME
TIMETZ
INTERVALO ENTRE UM ANO E UM MÊS
INTERVALO ENTRE UM DIA E UM SEGUNDO
VARBYTE
SUPER
HLLSKETCH
GEOMETRY
GEOGRAPHY
Retornos
Retorna o mesmo tipo de dados da expressão.
Observações de uso
Se uma instrução que especifica a função ANY_VALUE para uma coluna também incluir uma segunda referência de coluna, a segunda coluna deve aparecer em uma cláusula GROUP BY ou ser incluída em uma função agregada.
Exemplos
Os exemplos usam a tabela de eventos que é criada na Etapa 4: Carregar dados do Amazon S3 para o Amazon Redshift no Guia de conceitos básicos do Amazon Redshift. O exemplo a seguir retorna uma instância de qualquer dateid onde o eventname é Eagles.
select any_value(dateid) as dateid, eventname from event where eventname ='Eagles' group by eventname;
A seguir estão os resultados.
dateid | eventname -------+--------------- 1878 | Eagles
O exemplo a seguir retorna uma instância de qualquer dateid em que o eventname é Eagles ou Cold War Kids.
select any_value(dateid) as dateid, eventname from event where eventname in('Eagles', 'Cold War Kids') group by eventname;
A seguir estão os resultados.
dateid | eventname -------+--------------- 1922 | Cold War Kids 1878 | Eagles