Analyse conditionnelle

SQL intermédiaire avec l’IA

Jasmin Ludolf

Senior Data Science Content Developer

Agrégats conditionnels

Invite : Montrez le nombre de films avec et sans budget, pour chaque année

SELECT 
    release_year,
    COUNT(CASE WHEN budget IS NOT NULL THEN 1 END) AS films_with_budget,
    COUNT(CASE WHEN budget IS NULL THEN 1 END) AS films_without_budget
FROM films
GROUP BY release_year;
|release_year|films_with_budget|films_without_budget|
|------------|-----------------|--------------------|
|1964        |10               |0                   |
|1969        |9                |1                   |
...
SQL intermédiaire avec l’IA

Agrégats conditionnels

Diagramme conditionnel

SQL intermédiaire avec l’IA

Agrégats conditionnels

Invite : Montrez le nombre de films avec et sans budget, pour chaque année

SELECT 
    release_year,
    COUNT(CASE WHEN budget IS NOT NULL THEN 1 END) AS films_with_budget,
    COUNT(CASE WHEN budget IS NULL THEN 1 END) AS films_without_budget
FROM films
GROUP BY release_year;
|release_year|films_with_budget|films_without_budget|
|------------|-----------------|--------------------|
|1964        |10               |0                   |
|1969        |9                |1                   |
...
  • Si un film répond à la condition, il compte un 1
SQL intermédiaire avec l’IA

Agrégats conditionnels

Invite : Montrez le nombre de films avec et sans budget, pour chaque année

SELECT 
    release_year,
    SUM(CASE WHEN budget IS NOT NULL THEN 1 ELSE 0 END) AS films_with_budget,
    SUM(CASE WHEN budget IS NULL THEN 1 ELSE 0 END) AS films_without_budget
FROM  films
GROUP BY release_year;
|release_year|films_with_budget|films_without_budget|
|------------|-----------------|--------------------|
|1964        |10               |0                   |
|1969        |9                |1                   |
...
SQL intermédiaire avec l’IA

Agrégats conditionnels avec NULL

Invite : Montrez le nombre de films avec et sans budget, pour chaque année

SELECT 
    release_year,
    COUNT(CASE WHEN budget IS NOT NULL THEN 1 END) AS films_with_budget,
    COUNT(CASE WHEN budget IS NULL THEN 1 END) AS films_without_budget
FROM films
GROUP BY release_year;
  • Les NULLs sont dans films_without_budget
  • Peut nécessiter un filtre avec WHERE
SQL intermédiaire avec l’IA

Combinaison de techniques

Invite : Pour chaque année après 2000 avec au moins 5 films ayant des données de budget, catégorisez les films comme à gros budget si le budget dépasse 1 million et à petit budget s'il est de 1 million ou moins, et affichez les comptes pour chaque catégorie, classés par année et montrant les 10 premiers résultats

SELECT 
    release_year,

COUNT(CASE WHEN budget > 1000000 THEN 1 END) AS high_budget_count, COUNT(CASE WHEN budget <= 1000000 THEN 1 END) AS low_budget_count
FROM films
WHERE release_year > 2000 AND budget IS NOT NULL
GROUP BY release_year
HAVING COUNT(*) >= 5
ORDER BY release_year LIMIT 10;
SQL intermédiaire avec l’IA

Au-delà du comptage

$$

  • Les motifs conditionnels fonctionnent aussi avec d'autres agrégats

$$

  • Expérimentez avec les conditions et seuils

$$

  • Révélez des insights cachés

$$

Découvrez des insights

SQL intermédiaire avec l’IA

Passons à la pratique !

SQL intermédiaire avec l’IA

Preparing Video For Download...