Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Función de ventana LAG
La función de ventana LAG devuelve los valores para una fila en un desplazamiento dado arriba (antes) de la fila actual en la partición.
Sintaxis
LAG (value_expr [, offset ]) [ IGNORE NULLS | RESPECT NULLS ] OVER ( [ PARTITION BY window_partition ] ORDER BY window_ordering )
Argumentos
- value_expr
-
La columna o expresión de destino sobre la que opera la función.
- desplazamiento
-
Un parámetro opcional que especifica la cantidad de filas antes de la fila actual para la cual devolver valores. El desplazamiento puede ser un valor entero constante o una expresión que tome un valor entero. Si no especifica un desfase,
1
lo AWS Clean Rooms utiliza como valor por defecto. Un desplazamiento de0
indica la fila actual. - IGNORE NULLS
-
Especificación opcional que indica que se AWS Clean Rooms deben omitir los valores nulos a la hora de determinar qué fila utilizar. Los valores nulos se incluyen si no se indica IGNORE NULLS.
nota
Puede usar una expresión NVL o COALESCE para reemplazar los valores nulos con otro valor.
- RESPECT NULLS
-
Indica que se AWS Clean Rooms deben incluir valores nulos en la determinación de la fila que se debe utilizar. De manera predeterminada, se admite RESPECT NULLS si no especifica IGNORE NULLS.
- OVER
-
Especifica la partición de ventana y el ordenamiento. La cláusula OVER no puede tener una especificación de marco de ventana.
- PARTITION BY window_partition
-
Un argumento opcional que establece el rango de registros para cada grupo en la cláusula OVER.
- ORDER BY window_ordering
-
Ordena las filas dentro de cada partición.
La función de ventana LAG admite expresiones que utilizan cualquiera de los tipos de AWS Clean Rooms datos. El tipo de valor devuelto es el mismo que el tipo de la value_expr (expresión_de_valor).
Ejemplos
En el siguiente ejemplo, se muestra la cantidad de tickets vendidos al comprador con un ID de comprador de 3 y la hora en que el comprador 3 compró los tickets. Para comparar cada venta con la venta anterior para el comprador 3, la consulta devuelve la cantidad anterior vendida para cada venta. Debido a que no hay compras antes del 01/16/2008, el primer valor de cantidad vendida anterior es nulo:
select buyerid, saletime, qtysold, lag(qtysold,1) over (order by buyerid, saletime) as prev_qtysold from sales where buyerid = 3 order by buyerid, saletime; buyerid | saletime | qtysold | prev_qtysold ---------+---------------------+---------+-------------- 3 | 2008-01-16 01:06:09 | 1 | 3 | 2008-01-28 02:10:01 | 1 | 1 3 | 2008-03-12 10:39:53 | 1 | 1 3 | 2008-03-13 02:56:07 | 1 | 1 3 | 2008-03-29 08:21:39 | 2 | 1 3 | 2008-04-27 02:39:01 | 1 | 2 3 | 2008-08-16 07:04:37 | 2 | 1 3 | 2008-08-22 11:45:26 | 2 | 2 3 | 2008-09-12 09:11:25 | 1 | 2 3 | 2008-10-01 06:22:37 | 1 | 1 3 | 2008-10-20 01:55:51 | 2 | 1 3 | 2008-10-28 01:30:40 | 1 | 2 (12 rows)