篩選彙總資料

使用 AI 進行 SQL 查詢進階

Jasmin Ludolf

Senior Data Science Content Developer

WHERE 或 HAVING

哪些語言的電影超過 20 部?

  • 語言數:已彙總並分組

 

WHERE

  • 個別列
  • 哪些單部電影符合條件?

$$

$$

$$

HAVING

  • 分組結果
  • 哪些群組符合條件?
使用 AI 進行 SQL 查詢進階

篩選彙總資料

Prompt: 哪些語言的電影超過 20 部?

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

$$

  • 篩選時機:
    • 分組之後
    • 彙總之後
    • 可使用計數時
使用 AI 進行 SQL 查詢進階

為群組篩選撰寫提示

Prompt: 片名與預算,且預算高於 500 萬

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: 語言與預算,且四捨五入後的平均預算高於 500 萬

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 |
...
使用 AI 進行 SQL 查詢進階

合併篩選條件

Prompt: 顯示自 2000 年起部數超過 5 部、且平均片長超過 80 的語言

使用 AI 進行 SQL 查詢進階

合併篩選條件

Prompt: 顯示自 2000 年起部數超過 5 部、且平均片長超過 80 的語言

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

WHERE release_year >= 2000
GROUP BY language
使用 AI 進行 SQL 查詢進階

合併篩選條件

Prompt: 顯示自 2000 年起「部數超過 5 部」、且平均片長超過 80 的語言

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

使用 AI 進行 SQL 查詢進階

合併篩選條件

Prompt: 顯示自 2000 年起「部數超過 5 部」、且「平均片長」超過 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             |
...
使用 AI 進行 SQL 查詢進階

執行順序

$$

FROM

組裝線

使用 AI 進行 SQL 查詢進階

執行順序

$$

FROMWHERE

組裝線

使用 AI 進行 SQL 查詢進階

執行順序

$$

FROMWHEREGROUP BY(及彙總)➝

組裝線

使用 AI 進行 SQL 查詢進階

執行順序

$$

FROMWHEREGROUP BY(及彙總)➝ HAVING

組裝線

使用 AI 進行 SQL 查詢進階

執行順序

$$

FROMWHEREGROUP BY(及彙總)➝ HAVINGSELECT

組裝線

使用 AI 進行 SQL 查詢進階

執行順序

$$

FROMWHEREGROUP BY(及彙總)➝ HAVINGSELECTORDER BY

組裝線

使用 AI 進行 SQL 查詢進階

執行順序

$$

FROMWHEREGROUP BY(及彙總)➝ HAVINGSELECTORDER BYLIMIT

組裝線

使用 AI 進行 SQL 查詢進階

篩選提示要點

兩者皆可自 2000 年起的電影,且平均片長超過 80

WHERE:個別紀錄

  • 上映年在 2024 年之後的片名
  • 預算高於 500 萬

HAVING:涉及彙總

  • 平均預算超過 10000 的語言
  • 電影數量大於 5

紙上鋼筆

使用 AI 進行 SQL 查詢進階

迭代式提示

$$

1)從小處著手

2)檢查結果

3)再提示以補充細節

4)重複進行!

3D 對話框插圖,一個顯示 AI,一個為省略號

使用 AI 進行 SQL 查詢進階

該練習了!

使用 AI 進行 SQL 查詢進階

Preparing Video For Download...