الانتقال إلى المحتوى الرئيسي
هو اسم بديل لـ any، لكنه أُضيف للتوافق مع دوال النافذة، إذ يلزم أحيانًا معالجة قيم NULL (إذ تتجاهل جميع الدوال التجميعية في ClickHouse قيم NULL افتراضيًا). وهو يدعم تعريف مُعدِّل لمراعاة القيم الخالية (RESPECT NULLS)، سواء ضمن دوال النافذة أو في عمليات التجميع العادية. وكما هو الحال مع any، فبدون دوال النافذة ستكون النتيجة عشوائية إذا لم يكن تدفق المصدر مرتبًا، ويطابق نوع الإرجاع نوع الإدخال (ولا تُعاد القيمة Null إلا إذا كان الإدخال من النوع Nullable أو أُضيف المُركِّب ‎-OrNull).

أمثلة

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 first_value(b) FROM test_data;
┌─any(b)─┐
│      3 │
└────────┘

مثال 2

تُتجاهَل القيمة NULL.
SELECT first_value(b) ignore nulls FROM test_data
┌─any(b) IGNORE NULLS ─┐
│                    3 │
└──────────────────────┘

مثال 3

تُقبل قيمة NULL.
SELECT first_value(b) respect nulls FROM test_data
┌─any(b) RESPECT NULLS ─┐
│                  ᴺᵁᴸᴸ │
└───────────────────────┘

المثال 4

تثبيت النتيجة باستخدام الاستعلام الفرعي مع ORDER BY.
SELECT
    first_value_respect_nulls(b),
    first_value(b)
FROM
(
    SELECT *
    FROM test_data
    ORDER BY a ASC
)
┌─any_respect_nulls(b)─┬─any(b)─┐
│                 ᴺᵁᴸᴸ │      3 │
└──────────────────────┴────────┘
آخر تعديل في ٢٥ يونيو ٢٠٢٦