SQL Server Last_Value() İşlevi

Sql Server Last Value Islevi



Bu öğretici, SQL Server'daki last_value() işlevini anlamanızda size yol göstermeyi amaçlamaktadır. İşlev, sıralı bir değerler kümesindeki veya bir bölümdeki son değeri almanızı sağlar.

İşlev Sözdizimi

Last_value işlevinin sözdizimi aşağıdadır.

LAST_VALUE ( [ skaler_ifade ] )  [ BOŞLARI YOKSAY | BOŞLARA SAYGI ]
OVER ( [ partition_by_clause ] order_by_clause [ rows_range_clause ] )

İşlev bağımsız değişkenleri şunlardır:







  1. scalar_expression – bu, döndürülecek değeri tanımlar. Bu, mevcut bir sütun, bir alt sorgu veya tek bir değere dönen bir ifade olabilir.
  2. BOŞLARI YOKSAY - bu, işlevin bir bölümdeki son değeri belirlerken verilen kümedeki boş değerleri yok saymasını sağlar.
  3. RESPECT NULL – bu, IGNORE NULL yan tümcesinin tersidir. Bir bölüm üzerinden son değeri belirlerken işlevi NULL değerleri dikkate almaya zorlar.
  4. PARTITION BY – belirli bir sonucun satırlarını çeşitli bölümlere ayırır. Last_value işlevi daha sonra bu bölümlere uygulanır. partition_by deyimi eksikse işlev, sonuç kümesini tek bir grup olarak ele alır.
  5. ORDER BY - bu, belirli bir bölümdeki satırların hangi sırayla izleneceğini belirler.
  6. Rows_range - bu yan tümce, belirli bir bölümdeki satırları sınırlar. Bu, bir başlangıç ​​ve bitiş değeri ayarlayarak çalışır.

İşlev, belirtilen scalar_expression türünü döndürür.



Bir Sonuç Kümesi Üzerinde Last_value İşlevini Kullanma

Aşağıdaki gibi bir tablomuz olduğunu varsayalım:







Last_value() işlevini aşağıdaki örnek sorguda gösterildiği gibi bir sonuç kümesi üzerinden uygulayabiliriz:

seçme
SUNUCU ADI,
SUNUCU ADRESİ ,
SIKIŞTIRMA YÖNTEMİ,
DİSKTEKİ BOYUT,
last_value(size_on_disk) üzerinden(
size_on_disk sırasına göre sıralayın (sınırsız öndeki ve sınırsız aşağıdaki arasındaki aralık) en büyük
itibaren
GİRİŞLER E;

Ortaya çıkan değerler:



Last_value İşlevini Bir Bölüm Üzerinden Kullanma

Last_value() işlevini aşağıdaki örnekte gösterildiği gibi bölümleme üzerine de uygulayabiliriz:

seçme
SUNUCU ADI,
SUNUCU ADRESİ ,
SIKIŞTIRMA YÖNTEMİ,
DİSKTEKİ BOYUT,
last_value(size_on_disk) over(COMPRESSION_METHOD ile bölümleme)
size_on_disk sırasına göre sıralayın (sınırsız öndeki ve sınırsız aşağıdaki arasındaki aralık) en büyük
itibaren
GİRİŞLER E;

Bu durumda, veriler sıkıştırma yöntemine göre çeşitli bölümler halinde gruplandırılır.

Ortaya çıkan değer gösterildiği gibidir:

Yukarıdaki tabloda, her bölümdeki maksimum değerin en büyük sütunda görüntülendiği beş bölümümüz var.

Çözüm

Bu öğreticide, sıralı bir küme veya bölümdeki son değeri almak için SQL Server last_value() işlevini nasıl kullanacağınızı öğrendiniz.