Filtrer des données groupées

Interroger SQL de façon intermédiaire avec l'IA

Jasmin Ludolf

Senior Data Science Content Developer

WHERE ou HAVING

Quelles langues comptent plus de 20 films ?

  • Décompte par langue : agrégé et groupé

 

WHERE

  • Lignes individuelles
  • Quels films individuels respectent cette condition ?

$$

$$

$$

HAVING

  • Résultats groupés
  • Quels groupes respectent cette condition ?
Interroger SQL de façon intermédiaire avec l'IA

Filtrer des données groupées

Invite : Quelles langues comptent plus de 20 films ?

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

$$

  • Filtre après :
    • Groupement
    • Agrégations
    • Quand les décomptes sont disponibles
Interroger SQL de façon intermédiaire avec l'IA

Formuler des filtres sur des groupes

Invite : Titres et budgets des films avec un budget supérieur à 5 millions

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

Invite : Langues et budget dont la moyenne arrondie dépasse 5 millions

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 |
...
Interroger SQL de façon intermédiaire avec l'IA

Combiner des filtres

Invite : Afficher les langues avec plus de 5 films à partir de 2000, où la durée moyenne dépasse 80

Interroger SQL de façon intermédiaire avec l'IA

Combiner des filtres

Invite : Afficher les langues avec plus de 5 films à partir de 2000, où la durée moyenne dépasse 80

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

WHERE release_year >= 2000
GROUP BY language
Interroger SQL de façon intermédiaire avec l'IA

Combiner des filtres

Invite : Afficher les langues avec plus de 5 films à partir de 2000, où la durée moyenne dépasse 80

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

Interroger SQL de façon intermédiaire avec l'IA

Combiner des filtres

Invite : Afficher les langues avec plus de 5 films à partir de 2000, où la durée moyenne dépasse 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             |
...
Interroger SQL de façon intermédiaire avec l'IA

Ordre des opérations

$$

FROM

Une chaîne de montage

Interroger SQL de façon intermédiaire avec l'IA

Ordre des opérations

$$

FROMWHERE

Une chaîne de montage

Interroger SQL de façon intermédiaire avec l'IA

Ordre des opérations

$$

FROMWHEREGROUP BY (et agrégation) ➝

Une chaîne de montage

Interroger SQL de façon intermédiaire avec l'IA

Ordre des opérations

$$

FROMWHEREGROUP BY (et agrégation) ➝ HAVING

Une chaîne de montage

Interroger SQL de façon intermédiaire avec l'IA

Ordre des opérations

$$

FROMWHEREGROUP BY (et agrégation) ➝ HAVINGSELECT

Une chaîne de montage

Interroger SQL de façon intermédiaire avec l'IA

Ordre des opérations

$$

FROMWHEREGROUP BY (et agrégation) ➝ HAVINGSELECTORDER BY

Une chaîne de montage

Interroger SQL de façon intermédiaire avec l'IA

Ordre des opérations

$$

FROMWHEREGROUP BY (et agrégation) ➝ HAVINGSELECTORDER BYLIMIT

Une chaîne de montage

Interroger SQL de façon intermédiaire avec l'IA

Invites de filtre

Les deux : Films à partir de 2000 où la durée moyenne dépasse 80

WHERE : Enregistrements individuels

  • Titres de films sortis après 2024
  • Budgets supérieurs à 5 millions

HAVING : Fait appel à un agrégat

  • Langues avec un budget moyen supérieur à 10000
  • Décompte de films supérieur à 5

Stylo sur papier

Interroger SQL de façon intermédiaire avec l'IA

Invite itérative

$$

1) Commencer petit

2) Vérifier les résultats

3) Relancer pour ajouter des précisions

4) Répéter !

Illustration 3D de bulles de dialogue, l'une avec AI et l'autre avec des points de suspension

Interroger SQL de façon intermédiaire avec l'IA

Passons à la pratique !

Interroger SQL de façon intermédiaire avec l'IA

Preparing Video For Download...