Tạo nhóm bằng logic điều kiện

Truy vấn SQL Trung cấp với AI

Jasmin Ludolf

Senior Data Science Content Developer

CASE cho logic điều kiện

|duration|
|--------|
|123     |
|110     |
|151     |
...
  • Phân loại: "Short", "Standard", "Epic"

  • duration > 90: có hoặc không

  • Dùng logic điều kiện

  • Dễ đọc và truyền đạt hơn

Xô

Truy vấn SQL Trung cấp với AI

Nhắc CASE chưa tốt

Yêu cầu: Phân loại phim: Short nếu thời lượng dưới 90 phút, Standard nếu dưới 150, còn lại là Epic

SELECT 
    id, 
    title, 
    duration,
    CASE 
        WHEN duration < 90 THEN 'Short'
        WHEN duration < 150 THEN 'Standard'
        ELSE 'Epic'
    END AS film_category
FROM films;
Truy vấn SQL Trung cấp với AI

Nhắc CASE chưa tốt

Yêu cầu: Phân loại phim: Short nếu dưới 90 phút, Standard nếu dưới 150, còn lại là Epic

SELECT 
    id, 
    title, 
    duration,
    CASE 
        WHEN duration < 150 THEN 'Standard'
        WHEN duration < 90 THEN 'Short'
        ELSE 'Epic'
    END AS film_category
FROM films;

$$

  • Dễ sai sót
  • Phân loại sai nếu phim thỏa cả hai điều kiện
    • ví dụ: vừa dưới 90 vừa dưới 150
Truy vấn SQL Trung cấp với AI

Nhắc CASE tốt hơn

Yêu cầu: Phân loại: Short nếu dưới 90 phút, Standard nếu 90–149 phút, Epic nếu ≥150 phút, ngược lại là unknown

SELECT 
    id, 
    title, 
    duration,
    CASE 
        WHEN duration < 90 THEN 'Short'
        WHEN duration BETWEEN 90 AND 149 THEN 'Standard'
        WHEN duration >= 150 THEN 'Epic'
        ELSE 'Unknown'
    END AS category
FROM films;
Truy vấn SQL Trung cấp với AI

Xác minh logic

$$

|id|title                                           |duration|category|
|--|------------------------------------------------|--------|--------|
|1 |Intolerance: Love's Struggle Throughout the Ages|123     |Standard|
|2 |Over the Hill to the Poorhouse                  |110     |Standard|
|3 |The Big Parade                                  |151     |Epic    |
|4 |Metropolis                                      |145     |Standard|
...
|id  |title  |duration|category|
|----|-------|--------|--------|
|4396|Destiny|        |Unknown |
...
Truy vấn SQL Trung cấp với AI

Lọc giá trị NULL

Yêu cầu: Loại bỏ mọi duration NULL

SELECT 
    id, 
    title, 
    duration,
    CASE 
        WHEN duration < 90 THEN 'Short'
        WHEN duration BETWEEN 90 AND 149 THEN 'Standard'
        WHEN duration >= 150 THEN 'Epic'
        ELSE 'Unknown'
    END AS category
FROM films

WHERE duration IS NOT NULL;
Truy vấn SQL Trung cấp với AI

Lợi ích của việc phân loại

$$

  • Gắn nhãn rõ ràng, có ý nghĩa

$$

  • Cải thiện truyền đạt

$$

  • Dễ trực quan hóa hơn

Ngôi sao

Truy vấn SQL Trung cấp với AI

Vamos praticar!

Truy vấn SQL Trung cấp với AI

Preparing Video For Download...