الانتقال إلى المحتوى الرئيسي
يُرجع آخر قيمة تمت مصادفتها، على غرار anyLast، لكنه يمكنه قبول NULL. في الغالب، ينبغي استخدامه مع دوال النافذة. ومن دون دوال النافذة، ستكون النتيجة عشوائية إذا لم يكن تدفق المصدر مرتبًا.

أمثلة

CREATE TABLE test_data
(
    a Int64,
    b Nullable(Int64)
)
ENGINE = Memory;

INSERT INTO test_data (a, b) VALUES (1,null), (2,3), (4, 5), (6,null)

المثال 1

يتم تجاهل قيمة NULL افتراضيًا.
SELECT last_value(b) FROM test_data
┌─last_value_ignore_nulls(b)─┐
│                          5 │
└────────────────────────────┘

المثال 2

يتم تجاهل قيمة NULL.
SELECT last_value(b) ignore nulls FROM test_data
┌─last_value_ignore_nulls(b)─┐
│                          5 │
└────────────────────────────┘

المثال 3

تُقبل القيمة NULL.
SELECT last_value(b) respect nulls FROM test_data
┌─last_value_respect_nulls(b)─┐
│                        ᴺᵁᴸᴸ │
└─────────────────────────────┘

المثال 4

الحصول على نتيجة مستقرة باستخدام الاستعلام الفرعي مع ORDER BY.
SELECT
    last_value_respect_nulls(b),
    last_value(b)
FROM
(
    SELECT *
    FROM test_data
    ORDER BY a ASC
)
┌─last_value_respect_nulls(b)─┬─last_value(b)─┐
│                        ᴺᵁᴸᴸ │             5 │
└─────────────────────────────┴───────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦