條件式分析

使用 AI 進行 SQL 查詢進階

Jasmin Ludolf

Senior Data Science Content Developer

條件式彙總

Prompt: 對每個年份,顯示有預算與無預算的電影數量

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

條件式彙總

條件式示意圖

使用 AI 進行 SQL 查詢進階

條件式彙總

Prompt: 對每個年份,顯示有預算與無預算的電影數量

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                   |
...
  • 若電影符合條件,就計為 1
使用 AI 進行 SQL 查詢進階

條件式彙總

Prompt: 對每個年份,顯示有預算與無預算的電影數量

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

含 NULL 的條件式彙總

Prompt: 對每個年份,顯示有預算與無預算的電影數量

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;
  • NULL 會落在 films_without_budget
  • 可能需要用 WHERE 篩選
使用 AI 進行 SQL 查詢進階

技術綜合應用

Prompt: 對 2000 年後、且至少有 5 部具預算資料的年份,將電影依預算分類:高預算(> 1,000,000)與低預算(≤ 1,000,000),顯示各分類數量,依年份排序並顯示前 10 筆結果

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

不只計數

$$

  • 條件式也能搭配其他彙總

$$

  • 嘗試不同條件與門檻

$$

  • 挖掘隱藏洞見

$$

探索洞見

使用 AI 進行 SQL 查詢進階

一起來練習吧!

使用 AI 進行 SQL 查詢進階

Preparing Video For Download...