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

الوصف

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

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

في هذا المثال، سننشئ جدولًا لتخزين محاولات تسجيل دخول المستخدمين، وسنستخدم countIf لحساب عدد عمليات تسجيل الدخول الناجحة.
Query
CREATE TABLE login_attempts(
    user_id UInt32,
    timestamp DateTime,
    is_successful UInt8
) ENGINE = MergeTree
ORDER BY ();

INSERT INTO login_attempts VALUES
    (1, '2024-01-01 10:00:00', 1),
    (1, '2024-01-01 10:05:00', 0),
    (1, '2024-01-01 10:10:00', 1),
    (2, '2024-01-01 11:00:00', 1),
    (2, '2024-01-01 11:05:00', 1),
    (2, '2024-01-01 11:10:00', 0);

SELECT
    user_id,
    countIf(is_successful = 1) AS successful_logins
FROM login_attempts
GROUP BY user_id;
تحسب الدالة countIf فقط الصفوف التي تكون فيها is_successful = 1 لكل مستخدم.
Response
   ┌─user_id─┬─successful_logins─┐
1. │       1 │                 2 │
2. │       2 │                 2 │
   └─────────┴───────────────────┘

انظر أيضًا

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