Sintaxis de cualquier función
La siguiente es la sintaxis para usar la función Any_Value en Amazon Redshift:
Any_value ([distintivo | all] expresión)La siguiente es la descripción de los parámetros y opciones pasadas a la función RedShift Any_Value:
Distinto | TODOMientras ejecuta la función Any_Value, especifique que sea distinto o todo para obtener una salida aleatoria de las expresiones de entrada. Cuando especificamos el DISTINTO Palabra clave, la función Any_Value eliminará los valores duplicados de la expresión de entrada y luego devolverá el valor aleatorio de estas expresiones únicas.
Por otro lado, si el TODO Se utiliza la palabra clave, la función any_value devolverá la expresión aleatoria de todas las expresiones de entrada.
Expresión
Es la columna o expresión de destino en la que funciona la función Any_Value y obtiene un valor al azar. Puede contener los datos de los siguientes tipos de datos:
Ejemplos de la función Any_Value
Esta sección del artículo incluye diferentes ejemplos de la función Redshift Any_Value para elaborarlo a fondo.
Configuración del medio ambiente
Antes de ir junto con diferentes ejemplos, necesitamos crear una tabla con diferentes columnas. La siguiente consulta puede crear una tabla en el clúster de cambio rojo con los siguientes atributos:
Ahora, insertaremos algunos datos de muestra en la tabla user_data del clúster de desplazamiento rojo. Use la consulta de inserción para agregar los datos utilizando la siguiente consulta:
Insertar en user_data (Ejecute esta consulta varias veces cambiando los valores para guardar los datos de varios usuarios. Ahora, aplicaremos la función Any_Value a esta tabla.
Después de insertar los datos de varios usuarios, use la siguiente consulta para enumerar todos los datos:
Seleccionar * de user_data;Aplicando Any_Value en el tipo de datos enteros
En esta sección, aplicaremos el tipo de datos enteros o el tipo de datos de entero o el ID de empleado columna del datos del usuario tabla que creamos en la sección anterior.
Para este propósito, la siguiente consulta se puede utilizar para obtener la identificación del empleado de cualquier empleado:
Seleccione Any_Value (Employee_ID) como Employee_ID de USER_DATA;La consulta anterior seleccionará cualquier valor del ID de empleado columna y volverá como una salida de esta consulta. La cifra anterior devolvió el empleado_id del usuario aleatorio del datos del usuario mesa.
Aplicando Any_Value en el tipo de datos de cadena
Al igual que aplicamos la función Any_Value en el tipo de datos enteros, también se puede aplicar al tipo de datos de cadena. Cuando se aplica al campo Tipo de datos de cadena, la función Any_Value selecciona aleatoriamente cualquiera de los datos y lo devuelve en respuesta.
Para obtener cualquier valor aleatorio del nombre de usuario (String) campo, ejecute la siguiente consulta en el clúster de desplazamiento rojo:
Seleccione Any_Value (Nombre de usuario) como nombre de usuario de User_Data;Devolverá un azar nombre de usuario entrada desde el datos del usuario mesa.
Aplicando Tipo de datos de Fecha de Fecha de Any_Value
También podemos obtener un valor aleatorio del campo que contiene múltiples entradas del tipo de datos de fecha. Cuando la función Any_Value se aplica a los valores múltiples del tipo de datos de fecha, selecciona aleatoriamente una entrada y la devuelve en respuesta.
Conseguir un fecha de nacimiento de un usuario aleatorio del datos del usuario tabla, ejecute la siguiente consulta en el clúster de desplazamiento rojo:
Seleccione Any_Value (date_of_birth) como date_of_birth de user_data;Esta consulta obtendrá un azar fecha de nacimiento de la tabla y devuélvalo en respuesta.
Any_Value Función utilizando el grupo
Podemos usar la función Any_Value para simplificar y optimizar AGRUPAR POR Declaraciones Progreso. Un problema común que ocurre con muchas consultas es la consecuencia de las consultas con una cláusula de grupo por el que puede consistir en expresiones utilizadas en la cláusula de grupo o una consecuencia de la función agregada.
Seleccionar cliente.ID, cliente.nombre, suma (pedidos.valor)En el atributo de consulta anterior, el nombre del cliente requiere estar en el grupo por cláusula para su participación dentro de la consecuencia. Esto no es deseado y hace que el cálculo sea complicado y lento.
Para mejorar la consulta y hacer que sea más rápido de ejecutar, puede implementar la consulta anterior utilizando la función Any_Value.
Seleccionar cliente.id, any_value (cliente.nombre), suma (pedidos.valor)Conclusión
Any_value es una función que toma múltiples valores como entrada y devuelve un valor aleatorio de estos valores de entrada. Selecciona la salida de las expresiones de entrada de manera no determinista. Si la expresión de entrada a la función any_value no da como resultado ninguna fila, la salida de la función será un valor nulo. Este blog describe los diferentes casos de uso para implementar la función Any_Value para obtener la salida aleatoria.