Agrupando datos

SQL intermedio con IA

Jasmin Ludolf

Senior Data Science Content Developer

Agrupando datos

$$

  • Información para grupos específicos

$$

  • Combinar filas con los mismos valores

$$

  • Crear resúmenes para revelar patrones

Colección de libros de idiomas

SQL intermedio con IA

Distinto vs. grupos

SELECT DISTINCT language
FROM films;
|language|        
|--------|
|Danish  |
|Greek   |
|Dzongkha|
|...     |
  • Valores únicos
  • ¿Qué idiomas tenemos?
SELECT language
FROM films
GROUP BY language;
|language|        
|--------|
|Danish  |
|Greek   |
|Dzongkha|
|...     |
  • Crea grupos
  • ¿Cuántas películas tenemos en cada idioma?
SQL intermedio con IA

Instrucciones para agrupar

Instrucción: Agrupar películas por idioma

SELECT language, COUNT(*) AS lang_count
FROM films
GROUP BY language;
|language|lang_count|
|--------|----------|
|        |11        |
|Arabic  |5         |
|Kannada |1         |
|Czech   |1         |
...

$$

  • Agrupar es común con estadísticas resumidas:
    • ej. conteo, promedios

$$

  • Sin solicitud específica -> COUNT()
    • Función de agregación
    • Resume múltiples filas en un solo valor
SQL intermedio con IA

Errores comunes al agrupar

Instrucción: Muestra todos los títulos de películas agrupados por idioma

SELECT title
FROM films
GROUP BY language;
column "films.title" must appear in the
GROUP BY clause or be used in an 
aggregate function LINE 1...

Correcciones de IA:

  • Añadir una función COUNT()
    SELECT language, COUNT(title) AS count
    FROM films
    GROUP BY language;
    
  • Seleccionar campos correctos
    SELECT title, language
    FROM films
    GROUP BY title, language;
    
SQL intermedio con IA

Instrucciones para agrupar

Instrucción: Contar películas por país e idioma

SELECT country, language, COUNT(*) AS film_count
FROM films
GROUP BY country, language;
|country           |language|film_count|
|------------------|--------|----------|
|                  |        |1         |
|Pakistan          |Urdu    |1         |
|Mexico            |English |3         |
|Dominican Republic|Spanish |1         |
...
SQL intermedio con IA

Agrupar y ordenar

Instrucción: Clasificar idiomas por número de películas, mostrando los 3 primeros

SELECT language, COUNT(*) AS film_count
FROM films
GROUP BY language
ORDER BY film_count DESC
LIMIT 3;
|language|film_count|
|--------|----------|
|English |4635      |
|French  |72        |
|Spanish |40        |
SQL intermedio con IA

¡Vamos a practicar!

SQL intermedio con IA

Preparing Video For Download...