Pular para o conteúdo principal

Descrição

O combinador If pode ser aplicado à função count para contar o número de linhas em que a condição é verdadeira, usando a função de combinador de agregação countIf.

Exemplo de uso

Neste exemplo, vamos criar uma tabela que armazena tentativas de login de usuários e usar countIf para contar o número de logins bem-sucedidos.
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;
A função countIf contará apenas as linhas em que is_successful = 1 para cada usuário.
Response
   ┌─user_id─┬─successful_logins─┐
1. │       1 │                 2 │
2. │       2 │                 2 │
   └─────────┴───────────────────┘

Veja também

Última modificação em 10 de junho de 2026