HAVING

Filtre grupos depois que forem agregados. WHERE filtra as linhas antes.

Sintaxe

SELECT … GROUP BY column HAVING condition_on_an_aggregate;

Exemplo

SELECT customer_id, COUNT(*) AS orders FROM orders WHERE customer_id IS NOT NULL GROUP BY customer_id HAVING COUNT(*) >= 2;

Clientes que fizeram pelo menos dois pedidos.

Tabelas usadas: orders. Experimente em uma lição abaixo.

Erros comuns

  • Coloque condições sobre colunas simples no WHERE, que é mais rápido. Use HAVING apenas para condições sobre agregações.

Pratique