Contar valores únicos en SQL
COUNT DISTINCT responde cuántos valores distintos guarda una columna.
SELECT
DATE(occurred_at) AS day,
COUNT(*) AS events,
COUNT(DISTINCT session_id) AS sessions,
SUM(CASE WHEN kind = 'error' THEN 1 ELSE 0 END) AS errors
FROM events
GROUP BY DATE(occurred_at)
ORDER BY day;
Cómo funciona
COUNT(DISTINCT col)cuenta los valores únicos que no son NULL.- Un
SUMfiltrado de una expresión booleana cuenta un subconjunto. - Dividir dos conteos da una tasa por grupo.
Palabras clave y builtins usados aquí
ASBYCASECOUNTDATEDISTINCTELSEENDFROMGROUPORDERSELECTSUMTHENWHENday
El intento, en números
- Líneas
- 8
- Caracteres a escribir
- 203
- Tokens
- 50
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 38 segundos.
Paso 2 de 4 en Agregación; paso 2 de 22 en Joins y agregación.