As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
LAGfunção de janela
A função LAG window retorna os valores de uma linha em um determinado deslocamento acima (antes) da linha atual na partição.
Sintaxe
LAG (value_expr [, offset ]) [ IGNORE NULLS | RESPECT NULLS ] OVER ( [ PARTITION BY window_partition ] ORDER BY window_ordering )
Argumentos
- value_expr
-
A coluna ou expressão de destino na qual a função opera.
- deslocamento
-
Um parâmetro opcional que especifica o número de linhas antes da linha atual para as quais retornar valores. Este deslocamento pode ser um inteiro constante ou uma expressão que avalia para um inteiro. Se você não especificar um deslocamento, AWS Clean Rooms usa
1
como valor padrão. Um deslocamento de0
indica a linha atual. - IGNORE NULLS
-
Uma especificação opcional que indica que os valores nulos AWS Clean Rooms devem ser ignorados na determinação de qual linha usar. Valores nulos são incluídos se não IGNORE NULLS estiverem listados.
nota
Você pode usar uma COALESCE expressão NVL ou para substituir os valores nulos por outro valor.
- RESPECT NULLS
-
Indica que AWS Clean Rooms deve incluir valores nulos na determinação de qual linha usar. RESPECTNULLSé suportado por padrão se você não especificar IGNORENULLS.
- OVER
-
Especifica o particionamento e ordem da janela. A OVER cláusula não pode conter uma especificação de moldura de janela.
- PARTITIONPOR window_partition
-
Um argumento opcional que define o intervalo de registros para cada grupo na OVER cláusula.
- ORDERPOR window_ordering
-
Classifica as linhas dentro de cada partição.
A função de LAG janela oferece suporte a expressões que usam qualquer um dos tipos de AWS Clean Rooms dados. O tipo de retorno é igual ao tipo de value_expr.
Exemplos
O seguinte exemplo mostra a quantidade de ingressos vendidos para o comprador com ID de comprador 3 e a hora que o comprador 3 adquiriu os ingressos. Para comparar cada venda com venda anterior para o comprador 3, a consulta retorna a quantidade anterior vendida em cada venda. Já que não há compras antes de 1/16/2008, o primeiro valor de quantidade vendida anteriormente é 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)