Filtrování seskupených dat

Intermediate SQL Querying with AI

Jasmin Ludolf

Senior Data Science Content Developer

WHERE nebo HAVING

Které jazyky mají více než 20 filmů?

  • Počet jazyků: agregovaný a seskupený

 

WHERE

  • Jednotlivé řádky
  • Které filmy splňují tuto podmínku?

$$

$$

$$

HAVING

  • Seskupené výsledky
  • Které skupiny splňují tuto podmínku?
Intermediate SQL Querying with AI

Filtrování seskupených dat

Prompt: Které jazyky mají více než 20 filmů?

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

$$

  • Filtruje po:
    • Seskupení
    • Agregacích
    • Kdy jsou dostupné počty
Intermediate SQL Querying with AI

Prompty pro skupinové filtry

Prompt: Názvy filmů a rozpočty s rozpočtem nad 5 milionů

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

Prompt: Jazyky a rozpočet se zaokrouhleným průměrným rozpočtem nad 5 milionů

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 |
...
Intermediate SQL Querying with AI

Kombinace filtrů

Prompt: Zobrazit jazyky s více než 5 filmy od roku 2000, kde průměrná délka přesahuje 80

Intermediate SQL Querying with AI

Kombinace filtrů

Prompt: Zobrazit jazyky s více než 5 filmy od roku 2000, kde průměrná délka přesahuje 80

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

WHERE release_year >= 2000
GROUP BY language
Intermediate SQL Querying with AI

Kombinace filtrů

Prompt: Zobrazit jazyky s více než 5 filmy od roku 2000, kde průměrná délka přesahuje 80

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

Intermediate SQL Querying with AI

Kombinace filtrů

Prompt: Zobrazit jazyky s více než 5 filmy od roku 2000, kde průměrná délka přesahuje 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             |
...
Intermediate SQL Querying with AI

Pořadí operací

$$

FROM

Montážní linka

Intermediate SQL Querying with AI

Pořadí operací

$$

FROMWHERE

Montážní linka

Intermediate SQL Querying with AI

Pořadí operací

$$

FROMWHEREGROUP BY (a agregace) ➝

Montážní linka

Intermediate SQL Querying with AI

Pořadí operací

$$

FROMWHEREGROUP BY (a agregace) ➝ HAVING

Montážní linka

Intermediate SQL Querying with AI

Pořadí operací

$$

FROMWHEREGROUP BY (a agregace) ➝ HAVINGSELECT

Montážní linka

Intermediate SQL Querying with AI

Pořadí operací

$$

FROMWHEREGROUP BY (a agregace) ➝ HAVINGSELECTORDER BY

Montážní linka

Intermediate SQL Querying with AI

Pořadí operací

$$

FROMWHEREGROUP BY (a agregace) ➝ HAVINGSELECTORDER BYLIMIT

Montážní linka

Intermediate SQL Querying with AI

Prompty pro filtrování

Oboje: Filmy od roku 2000, kde průměrná délka přesahuje 80

WHERE: Jednotlivé záznamy

  • Názvy filmů vydaných po roce 2024
  • Rozpočty nad 5 milionů

HAVING: Zahrnuje agregát

  • Jazyky s průměrným rozpočtem nad 10 000
  • Počet filmů větší než 5

Pero na papíru

Intermediate SQL Querying with AI

Iterativní promptování

$$

1) Začněte v malém

2) Zkontrolujte výsledky

3) Upřesněte prompt

4) Opakujte!

3D ilustrace bublin s textem, jedna s AI a jedna s třemi tečkami

Intermediate SQL Querying with AI

Čas na procvičení!

Intermediate SQL Querying with AI

Preparing Video For Download...