Filtrowanie zgrupowanych danych

SQL średnio zaawansowany z pomocą AI

Jasmin Ludolf

Senior Data Science Content Developer

WHERE czy HAVING

Które języki mają więcej niż 20 filmów?

  • Liczba języków: zagregowana i pogrupowana

 

WHERE

  • Pojedyncze wiersze
  • Które filmy spełniają ten warunek?

$$

$$

$$

HAVING

  • Zgrupowane wyniki
  • Które grupy spełniają ten warunek?
SQL średnio zaawansowany z pomocą AI

Filtrowanie zgrupowanych danych

Polecenie: Które języki mają więcej niż 20 filmów?

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

$$

  • Filtruje po:
    • Grupowaniu
    • Agregacjach
    • Gdy liczby są dostępne
SQL średnio zaawansowany z pomocą AI

Tworzenie poleceń filtrów grupowych

Polecenie: Tytuły filmów i budżety z budżetem powyżej 5 milionów

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

Polecenie: Języki i budżet ze zaokrąglonym średnim budżetem powyżej 5 milionów

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

Łączenie filtrów

Polecenie: Pokaż języki z ponad 5 filmami od 2000 roku, gdzie średni czas trwania przekracza 80

SQL średnio zaawansowany z pomocą AI

Łączenie filtrów

Polecenie: Pokaż języki z ponad 5 filmami od 2000 roku, gdzie średni czas trwania przekracza 80

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

WHERE release_year >= 2000
GROUP BY language
SQL średnio zaawansowany z pomocą AI

Łączenie filtrów

Polecenie: Pokaż języki z ponad 5 filmami od 2000 roku, gdzie średni czas trwania przekracza 80

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

SQL średnio zaawansowany z pomocą AI

Łączenie filtrów

Polecenie: Pokaż języki z ponad 5 filmami od 2000 roku, gdzie średni czas trwania przekracza 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             |
...
SQL średnio zaawansowany z pomocą AI

Kolejność operacji

$$

FROM

Linia montażowa

SQL średnio zaawansowany z pomocą AI

Kolejność operacji

$$

FROMWHERE

Linia montażowa

SQL średnio zaawansowany z pomocą AI

Kolejność operacji

$$

FROMWHEREGROUP BY (i agregacja) ➝

Linia montażowa

SQL średnio zaawansowany z pomocą AI

Kolejność operacji

$$

FROMWHEREGROUP BY (i agregacja) ➝ HAVING

Linia montażowa

SQL średnio zaawansowany z pomocą AI

Kolejność operacji

$$

FROMWHEREGROUP BY (i agregacja) ➝ HAVINGSELECT

Linia montażowa

SQL średnio zaawansowany z pomocą AI

Kolejność operacji

$$

FROMWHEREGROUP BY (i agregacja) ➝ HAVINGSELECTORDER BY

Linia montażowa

SQL średnio zaawansowany z pomocą AI

Kolejność operacji

$$

FROMWHEREGROUP BY (i agregacja) ➝ HAVINGSELECTORDER BYLIMIT

Linia montażowa

SQL średnio zaawansowany z pomocą AI

Polecenia filtrowania

Obydwa: Filmy od 2000 roku, gdzie średni czas trwania przekracza 80

WHERE: Pojedyncze rekordy

  • Tytuły filmów wydanych po 2024 roku
  • Budżety powyżej 5 milionów

HAVING: Wymaga agregacji

  • Języki ze średnim budżetem powyżej 10000
  • Liczba filmów większa niż 5

Długopis na papierze

SQL średnio zaawansowany z pomocą AI

Iteracyjne tworzenie poleceń

$$

1) Zacznij od małego

2) Sprawdź wyniki

3) Doprecyzuj polecenie

4) Powtarzaj!

Ilustracja 3D dymków czatu – jeden z napisem AI, drugi z wielokropkiem

SQL średnio zaawansowany z pomocą AI

Czas na ćwiczenia!

SQL średnio zaawansowany z pomocą AI

Preparing Video For Download...