Filtrar datos agrupados

SQL intermedio con IA

Jasmin Ludolf

Senior Data Science Content Developer

WHERE o HAVING

¿Qué idiomas tienen más de 20 películas?

  • Conteo de idiomas: agregado y agrupado

 

WHERE

  • Filas individuales
  • ¿Qué películas individuales cumplen esta condición?

$$

$$

$$

HAVING

  • Resultados agrupados
  • ¿Qué grupos cumplen esta condición?
SQL intermedio con IA

Filtrar datos agrupados

Instrucción: ¿Qué idiomas tienen más de 20 películas?

SELECT language, COUNT(*) AS lang_count
FROM films
GROUP BY language
HAVING COUNT(*) > 20;
|language|
|--------|
|Mandarin|
|Spanish |
|French  |
|Hindi   |
|English |

$$

  • Filtros después de:
    • Agrupación
    • Agregaciones
    • Cuando los conteos están disponibles
SQL intermedio con IA

Instrucción para filtros de grupo

Instrucción: Títulos de películas y presupuestos con un presupuesto superior a 5 millones

SELECT title, budget
FROM films
WHERE budget > 5000000;
|title          |budget |
|---------------|-------|
|Metropolis     |6000000|
|Duel in the Sun|8000000|
|Quo Vadis      |7623000|
|West Side Story|6000000|
...

Instrucción: Idiomas y presupuesto con presupuesto medio redondeado superior a 5 millones

SELECT language, ROUND(AVG(budget)) AS avg_budget
FROM films
GROUP BY language
HAVING ROUND(AVG(budget)) > 5000000;
|language|avg_budget|
|--------|----------|
|Danish  |16700000  |
|None    |8250000   |
|Tamil   |150000000 |
...
SQL intermedio con IA

Combinando filtros

Instrucción: Muestra idiomas con más de 5 películas desde 2000, donde la duración media supera 80

SQL intermedio con IA

Combinando filtros

Instrucción: Muestra idiomas con más de 5 películas desde 2000, donde la duración media supera 80

SELECT language, COUNT(*) AS film_count, ROUND(AVG(duration)) AS average_duration
FROM films

WHERE release_year >= 2000
GROUP BY language
SQL intermedio con IA

Combinando filtros

Instrucción: Muestra idiomas con más de 5 películas desde 2000, donde la duración media supera 80

SELECT language, COUNT(*) AS film_count, ROUND(AVG(duration)) AS average_duration
FROM films
WHERE release_year >= 2000
GROUP BY language

SQL intermedio con IA

Combinando filtros

Instrucción: Muestra idiomas con más de 5 películas desde 2000, donde la duración media supera 80

SELECT language, COUNT(*) AS film_count, ROUND(AVG(duration)) AS average_duration
FROM films
WHERE release_year >= 2000
GROUP BY language

HAVING COUNT(*) > 5 AND ROUND(AVG(duration)) > 80;
|language|film_count|average_duration|
|--------|----------|----------------|
|Mandarin|26        |112             |
|Japanese|10        |114             |
|Spanish |37        |107             |
...
SQL intermedio con IA

Orden de operaciones

$$

FROM

Una línea de ensamblaje

SQL intermedio con IA

Orden de operaciones

$$

FROMWHERE

Una línea de ensamblaje

SQL intermedio con IA

Orden de operaciones

$$

FROMWHEREGROUP BY (y agregación) ➝

Una línea de ensamblaje

SQL intermedio con IA

Orden de operaciones

$$

FROMWHEREGROUP BY (y agregación) ➝ HAVING

Una línea de ensamblaje

SQL intermedio con IA

Orden de operaciones

$$

FROMWHEREGROUP BY (y agregación) ➝ HAVINGSELECT

Una línea de ensamblaje

SQL intermedio con IA

Orden de operaciones

$$

FROMWHEREGROUP BY (y agregación) ➝ HAVINGSELECTORDER BY

Una línea de ensamblaje

SQL intermedio con IA

Orden de operaciones

$$

FROMWHEREGROUP BY (y agregación) ➝ HAVINGSELECTORDER BYLIMIT

Una línea de ensamblaje

SQL intermedio con IA

Instrucciones de filtro

Ambos: Películas desde 2000 donde la duración media es superior a 80

WHERE: Registros individuales

  • Títulos de películas lanzadas después de 2024
  • Presupuestos superiores a 5 millones

HAVING: Menciones agregadas

  • Idiomas con presupuesto medio superior a 10000
  • Conteo de películas mayor a 5

Pluma sobre papel

SQL intermedio con IA

Instrucción iterativa

$$

1) Empieza pequeño

2) Verifica los resultados

3) Vuelve a instruir para añadir más detalles

4) ¡Repite!

Ilustración 3D de burbujas de diálogo, una con IA y otra con puntos suspensivos

SQL intermedio con IA

¡Hora de practicar!

SQL intermedio con IA

Preparing Video For Download...