typestar

HAVING filtra grupos en SQL

WHERE filtra filas antes de agrupar; HAVING filtra los grupos después.

SELECT
    customer_id,
    COUNT(*) AS orders,
    SUM(total) AS lifetime_value
FROM orders
WHERE status = 'paid'
GROUP BY customer_id
HAVING COUNT(*) >= 3
   AND SUM(total) > 500
ORDER BY lifetime_value DESC;

Cómo funciona

  1. HAVING puede referirse a agregados; WHERE no.
  2. Usa ambos juntos: acota las filas y luego acota los grupos.
  3. El orden de cláusulas es WHERE, GROUP BY, HAVING, ORDER BY.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
10
Caracteres a escribir
195
Tokens
45
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 32 segundos.

Escribe este fragmento

Paso 3 de 4 en Agrupación; paso 7 de 22 en Joins y agregación.

← Anterior Siguiente →