الانتقال إلى المحتوى الرئيسي

الوصف

يمكن تطبيق المُعدِّل If على دالة التجميع any لاختيار أول عنصر من عمود معيّن يستوفي الشرط المحدد.

مثال على الاستخدام

في هذا المثال، سننشئ جدولًا يخزّن بيانات المبيعات مع مؤشرات النجاح، وسنستخدم anyIf لاختيار أول قيم transaction_id للسجلات التي يزيد مبلغها على 200 أو يقل عنه. سننشئ أولًا جدولًا ثم ندرج البيانات فيه:
Query
CREATE TABLE sales(
    transaction_id UInt32,
    amount Decimal(10,2),
    is_successful UInt8
) 
ENGINE = MergeTree()
ORDER BY tuple();

INSERT INTO sales VALUES
    (1, 100.00, 1),
    (2, 150.00, 1),
    (3, 155.00, 0),
    (4, 300.00, 1),
    (5, 250.50, 0),
    (6, 175.25, 1);
SELECT
    anyIf(transaction_id, amount < 200) AS tid_lt_200,
    anyIf(transaction_id, amount > 200) AS tid_gt_200
FROM sales;
Response
┌─tid_lt_200─┬─tid_gt_200─┐
│          1 │          4 │
└────────────┴────────────┘

انظر أيضًا

آخر تعديل في ٢٥ يونيو ٢٠٢٦