Analiza warunkowa

SQL średnio zaawansowany z pomocą AI

Jasmin Ludolf

Senior Data Science Content Developer

Agregacje warunkowe

Polecenie: Pokaż liczbę filmów z budżetem i bez budżetu dla każdego roku

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 średnio zaawansowany z pomocą AI

Agregacje warunkowe

Diagram warunkowy

SQL średnio zaawansowany z pomocą AI

Agregacje warunkowe

Polecenie: Pokaż liczbę filmów z budżetem i bez budżetu dla każdego roku

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                   |
...
  • Jeśli film spełnia warunek, liczy się jako 1
SQL średnio zaawansowany z pomocą AI

Agregacje warunkowe

Polecenie: Pokaż liczbę filmów z budżetem i bez budżetu dla każdego roku

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 średnio zaawansowany z pomocą AI

Agregacje warunkowe z wartościami NULL

Polecenie: Pokaż liczbę filmów z budżetem i bez budżetu dla każdego roku

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 są w films_without_budget
  • Może być konieczne filtrowanie przez WHERE
SQL średnio zaawansowany z pomocą AI

Łączenie technik

Polecenie: Dla każdego roku po 2000 z co najmniej 5 filmami posiadającymi dane budżetowe, podziel filmy na kategorie: Wysoki budżet (ponad 1 mln) i Niski budżet (1 mln lub mniej), pokaż liczby dla każdej kategorii, posortowane według roku, 10 pierwszych wyników

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 średnio zaawansowany z pomocą AI

Poza zliczaniem

$$

  • Wzorce warunkowe działają też z innymi agregacjami

$$

  • Eksperymentuj z warunkami i progami

$$

  • Odkrywaj ukryte informacje

$$

Odkrywanie informacji

SQL średnio zaawansowany z pomocą AI

Czas na ćwiczenia!

SQL średnio zaawansowany z pomocą AI

Preparing Video For Download...