Sintaxe da função de qualquer_value
A seguir, a sintaxe para usar a função Any_Value no Amazon Redshift:
Any_value ([Distinct | All] Expressão)A seguir, a descrição dos parâmetros e opções passadas para a função Redshift Any_value:
Distinto | TODOSAo executar a função Any_Value, especifique distintos ou tudo para obter uma saída aleatória das expressões de entrada. Quando especificamos o Distinto palavra -chave, a função any_value removerá valores duplicados da expressão de entrada e depois retornará o valor aleatório dessas expressões exclusivas.
Por outro lado, se o TODOS Palavra -chave é usada, a função Any_Value retornará a expressão aleatória de todas as expressões de entrada.
Expressão
É a coluna de destino ou expressão na qual a função Any_value opera e recebe um valor aleatoriamente. Ele pode conter os dados dos seguintes tipos de dados:
Exemplos de qualquer função de qualquer_value
Esta seção do artigo inclui diferentes exemplos da função Redshift Any_value para elaborá -lo completamente.
Configurando o ambiente
Antes de acompanhar exemplos diferentes, precisamos criar uma tabela com colunas diferentes. A consulta a seguir pode criar uma tabela no cluster do desvio para o vermelho com os seguintes atributos:
Agora, inseriremos alguns dados de amostra na tabela user_data do cluster de desvio para o vermelho. Use a consulta Insert para adicionar os dados usando a seguinte consulta:
Insira em user_data (Execute esta consulta várias vezes alterando os valores para salvar os dados de vários usuários. Agora, aplicaremos a função any_value a esta tabela.
Depois de inserir os dados de vários usuários, use a seguinte consulta para listar todos os dados:
Selecione * de user_data;Aplicando qualquer_value no tipo de dados inteiro
Nesta seção, aplicaremos o qualquer_Value no tipo de dados inteiro ou no ID do Empregado coluna do dados do usuário Tabela que criamos na seção anterior.
Para esse fim, a consulta a seguir pode ser usada para obter o ID do funcionário de qualquer funcionário:
Selecione Any_Value (funcionário_id) como funcionário_id de user_data;A consulta anterior selecionará qualquer valor do ID do Empregado coluna e retornará como uma saída desta consulta. A figura anterior retornou o funcionário_id do usuário aleatório do dados do usuário mesa.
Aplicando qualquer_value no tipo de dados da string
Assim como aplicamos a função Any_Value no tipo de dados inteiro, ele também pode ser aplicado ao tipo de dados da string. Quando aplicado ao campo Tipo de dados da string, a função Any_Value seleciona aleatoriamente qualquer um dos dados e o retorna em resposta.
Para obter qualquer valor aleatório do nome de usuário (String) Campo, execute a seguinte consulta no cluster do Redshift:
Selecione Any_Value (nome de usuário) como nome de usuário do user_data;Vai retornar um aleatório nome de usuário entrada do dados do usuário mesa.
Aplicando qualquer_value no tipo de dados de data
Também podemos obter um valor aleatório do campo que contém várias entradas de data de data do tipo de dados. Quando a função any_value é aplicada aos múltiplos valores do tipo de dados de data, seleciona aleatoriamente uma entrada e a retorna em resposta.
Para obter um data de nascimento de um usuário aleatório do dados do usuário Tabela, execute a seguinte consulta no cluster do desvio para o vermelho:
Selecione Any_Value (date_of_birth) como date_of_birth de user_data;Esta consulta terá um aleatório data de nascimento da mesa e devolvê -la em resposta.
Any_value Função usando o grupo
Podemos usar a função de qualquer_value para simplificar e otimizar Grupo por Declarações Progresso. Uma questão comum que ocorre com muitas consultas é a conseqüência de consultas com uma cláusula de grupo que pode consistir em apenas expressões utilizadas na cláusula de grupo ou uma conseqüência da função agregada.
Selecione Cliente.id, cliente.nome, soma (pedidos.valor)No atributo de consulta anterior, o nome do cliente exige estar no grupo por cláusula para envolvimento dentro da consequência. Isso é indesejado e torna o cálculo complicado e lento.
Para melhorar a consulta e torná -lo mais rápido, você pode implementar a consulta anterior usando a função Any_value.
Selecione Cliente.id, qualquer_value (cliente.nome), soma (pedidos.valor)Conclusão
Any_value é uma função que leva vários valores como entrada e retorna um valor aleatório desses valores de entrada. Ele seleciona a saída das expressões de entrada de maneira não -determinística. Se a expressão de entrada para a função Any_Value não resultar em nenhuma linha, a saída da função será um valor nulo. Este blog descreve os diferentes casos de uso para implementar a função Any_Value para obter a saída aleatória.