Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Filtrado de matrices

Modo de enfoque
Filtrado de matrices - Amazon Athena

Cree una matriz a partir de una colección de filas si coinciden con los criterios de filtro.

WITH dataset AS ( SELECT ARRAY[1,2,3,4,5] AS items ) SELECT array_agg(i) AS array_items FROM dataset CROSS JOIN UNNEST(items) AS t(i) WHERE i > 3

Esta consulta devuelve:

+-------------+ | array_items | +-------------+ | [4, 5] | +-------------+

Filtre una matriz basándose en si uno de sus elementos contiene un valor específico, como 2, como en el siguiente ejemplo:

WITH dataset AS ( SELECT ARRAY [ ARRAY[1,2,3,4], ARRAY[5,6,7,8], ARRAY[9,0] ] AS items ) SELECT i AS array_items FROM dataset CROSS JOIN UNNEST(items) AS t(i) WHERE contains(i, 2)

Esta consulta devuelve:

+--------------+ | array_items | +--------------+ | [1, 2, 3, 4] | +--------------+

Uso de la función filter

filter(ARRAY [list_of_values], boolean_function)

Puede utilizar la función filter en una expresión ARRAY para crear una nueva matriz que sea el subconjunto de los elementos de la list_of_values (lista de valores) para la cual el valor de boolean_function es true (verdadero). La función filter puede ser útil cuando no se pueda utilizar la función UNNEST.

En el siguiente ejemplo se filtran los valores mayores que cero de la matriz [1,0,5,-1].

SELECT filter(ARRAY [1,0,5,-1], x -> x>0)
Resultados

[1,5]

En el siguiente ejemplo se filtran los valores no nulos en la matriz [-1, NULL, 10, NULL].

SELECT filter(ARRAY [-1, NULL, 10, NULL], q -> q IS NOT NULL)
Resultados

[-1,10]

En esta página

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.