Voorwaardelijke analyse

Gevorderde SQL-query’s met AI

Jasmin Ludolf

Senior Data Science Content Developer

Voorwaardelijke aggregaten

Opdracht: Toon het aantal films met en zonder budget, per jaar

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                   |
...
Gevorderde SQL-query’s met AI

Voorwaardelijke aggregaten

Voorwaardelijk diagram

Gevorderde SQL-query’s met AI

Voorwaardelijke aggregaten

Opdracht: Toon het aantal films met en zonder budget, per jaar

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                   |
...
  • Als een film aan de voorwaarde voldoet, telt het als 1
Gevorderde SQL-query’s met AI

Voorwaardelijke aggregaten

Opdracht: Toon het aantal films met en zonder budget, per jaar

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                   |
...
Gevorderde SQL-query’s met AI

Voorwaardelijke aggregaten met NULLs

Opdracht: Toon het aantal films met en zonder budget, per jaar

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;
  • NULLs zitten in films_without_budget
  • Mogelijk filteren met WHERE
Gevorderde SQL-query’s met AI

Technieken combineren

Opdracht: Voor elk jaar na 2000 met minstens 5 films met budgetgegevens, categoriseer films als Hoog Budget als het budget meer dan 1 miljoen is en Laag Budget als het 1 miljoen of minder is, en toon de aantallen per categorie, gesorteerd op jaar en toon de top 10 resultaten

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;
Gevorderde SQL-query’s met AI

Meer dan tellen

$$

  • Voorwaardelijke patronen werken ook met andere aggregaten

$$

  • Experimenteer met voorwaarden en drempels

$$

  • Ontdek verborgen inzichten

$$

Ontdek inzichten

Gevorderde SQL-query’s met AI

Laten we oefenen!

Gevorderde SQL-query’s met AI

Preparing Video For Download...