الوصف
يمكن تطبيق المُعدِّل If على دالة التجميع any
لاختيار أول عنصر من عمود معيّن
يستوفي الشرط المحدد.
مثال على الاستخدام
في هذا المثال، سننشئ جدولًا يخزّن بيانات المبيعات مع مؤشرات النجاح،
وسنستخدم anyIf لاختيار أول قيم transaction_id للسجلات التي يزيد مبلغها على 200 أو يقل عنه.
سننشئ أولًا جدولًا ثم ندرج البيانات فيه:
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;┌─tid_lt_200─┬─tid_gt_200─┐
│ 1 │ 4 │
└────────────┴────────────┘