lag analitik pencere işlevi

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Önceki bir satırdan, bölüm içindeki expr değerini döndürür.

Söz dizimi

lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause

Argümanlar

  • expr: Herhangi bir türde bir ifade.
  • offset: Uzaklığı belirten isteğe bağlı INTEGER değişmez değer.
  • default: ile aynı türde exprbir ifade.
  • IGNORE NULLSveya RESPECT NULLS: BelirtildiğindeIGNORE NULLS, yoksayılan expr tüm NULL değerler. Varsayılan değer: RESPECT NULLS.
  • OVER yan tümcesi: Pencereleme işlemini açıklayan yan tümce. Bkz. Pencere işlevleri.

İadeler

Sonuç tipi expr ile eşleşir.

eğer offset pozitifse, OVER yan tümcesinde belirtilen offset'ye göre ORDER BY geçerli satırın önündeki satırdan gelen değerdir. 0 uzaklığı geçerli satırın değerini kullanır. Negatif ofset, mevcut satırdan sonraki bir satırdaki değeri kullanır. Belirtmezseniz offset , varsayılan olarak 1 olur ve hemen önceki satırdır.

Belirtilen uzaklıkta bölüm içinde bir satır yoksa, belirtilen default kullanılır. Varsayılan default değerdir NULL. Bir ORDER BY madde sağlamanız gerekir.

Bu işlev ile eş anlamlıdır lead(expr, -offset, default).

Örnekler

> SELECT a, b, lag(b) OVER (PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   NULL
 A1 1   1
 A1 2   1
 A2 3   NULL