يُرجع آخر قيمة تمت مصادفتها، على غرار 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)
يتم تجاهل قيمة NULL افتراضيًا.
SELECT last_value(b) FROM test_data
┌─last_value_ignore_nulls(b)─┐
│ 5 │
└────────────────────────────┘
يتم تجاهل قيمة NULL.
SELECT last_value(b) ignore nulls FROM test_data
┌─last_value_ignore_nulls(b)─┐
│ 5 │
└────────────────────────────┘
تُقبل القيمة NULL.
SELECT last_value(b) respect nulls FROM test_data
┌─last_value_respect_nulls(b)─┐
│ ᴺᵁᴸᴸ │
└─────────────────────────────┘
الحصول على نتيجة مستقرة باستخدام الاستعلام الفرعي مع 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 │
└─────────────────────────────┴───────────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦