Filtrare dati raggruppati

Query SQL intermedie con l'AI

Jasmin Ludolf

Senior Data Science Content Developer

WHERE o HAVING

Quali lingue hanno più di 20 film?

  • Conteggio lingue: aggregato e raggruppato

 

WHERE

  • Righe individuali
  • Quali film individuali soddisfano questa condizione?

$$

$$

$$

HAVING

  • Risultati raggruppati
  • Quali gruppi soddisfano questa condizione?
Query SQL intermedie con l'AI

Filtrare dati raggruppati

Richiesta: Quali lingue hanno più di 20 film?

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

$$

  • Filtri dopo:
    • Raggruppamento
    • Aggregazioni
    • Quando i conteggi sono disponibili
Query SQL intermedie con l'AI

Richieste per filtri di gruppo

Richiesta: Titoli di film e budget con un budget sopra 5 milioni

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

Richiesta: Lingue e budget con budget medio arrotondato sopra 5 milioni

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 |
...
Query SQL intermedie con l'AI

Combinare filtri

Richiesta: Mostra le lingue con oltre 5 film dal 2000 in poi, dove la durata media supera 80

Query SQL intermedie con l'AI

Combinare filtri

Richiesta: Mostra le lingue con oltre 5 film dal 2000 in poi, dove la durata media supera 80

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

WHERE release_year >= 2000
GROUP BY language
Query SQL intermedie con l'AI

Combinare filtri

Richiesta: Mostra le lingue con oltre 5 film dal 2000 in poi, dove la durata media supera 80

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

Query SQL intermedie con l'AI

Combinare filtri

Richiesta: Mostra le lingue con oltre 5 film dal 2000 in poi, dove la durata 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             |
...
Query SQL intermedie con l'AI

Ordine delle operazioni

$$

FROM

Una catena di montaggio

Query SQL intermedie con l'AI

Ordine delle operazioni

$$

FROMWHERE

Una catena di montaggio

Query SQL intermedie con l'AI

Ordine delle operazioni

$$

FROMWHEREGROUP BY (e aggregazione) ➝

Una catena di montaggio

Query SQL intermedie con l'AI

Ordine delle operazioni

$$

FROMWHEREGROUP BY (e aggregazione) ➝ HAVING

Una catena di montaggio

Query SQL intermedie con l'AI

Ordine delle operazioni

$$

FROMWHEREGROUP BY (e aggregazione) ➝ HAVINGSELECT

Una catena di montaggio

Query SQL intermedie con l'AI

Ordine delle operazioni

$$

FROMWHEREGROUP BY (e aggregazione) ➝ HAVINGSELECTORDER BY

Una catena di montaggio

Query SQL intermedie con l'AI

Ordine delle operazioni

$$

FROMWHEREGROUP BY (e aggregazione) ➝ HAVINGSELECTORDER BYLIMIT

Una catena di montaggio

Query SQL intermedie con l'AI

Richieste di filtro

Entrambi: Film dal 2000 in poi dove la durata media è sopra 80

WHERE: Record individuali

  • Titoli di film usciti dopo il 2024
  • Budget sopra 5 milioni

HAVING: Menziona aggregati

  • Lingue con budget medio sopra 10000
  • Conteggio film maggiore di 5

Penna su carta

Query SQL intermedie con l'AI

Richieste iterative

$$

1) Inizia in piccolo

2) Controlla i risultati

3) Richiedi di nuovo per aggiungere dettagli

4) Ripeti!

Illustrazione 3D di fumetti, uno con AI e uno con ellissi

Query SQL intermedie con l'AI

È ora di esercitarsi!

Query SQL intermedie con l'AI

Preparing Video For Download...