Nhóm dữ liệu

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

Jasmin Ludolf

Senior Data Science Content Developer

Nhóm dữ liệu

$$

  • Thông tin theo từng nhóm

$$

  • Gộp các hàng có giá trị giống nhau

$$

  • Tạo tóm tắt để lộ mẫu hình

Bộ sưu tập sách ngôn ngữ

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

Distinct và nhóm

SELECT DISTINCT language
FROM films;
|language|        
|--------|
|Danish  |
|Greek   |
|Dzongkha|
|...     |
  • Giá trị duy nhất
  • Có những ngôn ngữ nào?
SELECT language
FROM films
GROUP BY language;
|language|        
|--------|
|Danish  |
|Greek   |
|Dzongkha|
|...     |
  • Tạo nhóm
  • Mỗi ngôn ngữ có bao nhiêu phim?
Truy vấn SQL Trung cấp với AI

Yêu cầu cho việc nhóm

Yêu cầu: Nhóm phim theo ngôn ngữ

SELECT language, COUNT(*) AS lang_count
FROM films
GROUP BY language;
|language|lang_count|
|--------|----------|
|        |11        |
|Arabic  |5         |
|Kannada |1         |
|Czech   |1         |
...

$$

  • Nhóm thường đi kèm thống kê tóm tắt:
    • ví dụ: đếm, trung bình

$$

  • Không có yêu cầu cụ thể -> COUNT()
    • Hàm tổng hợp
    • Tóm tắt nhiều hàng thành một giá trị
Truy vấn SQL Trung cấp với AI

Lỗi thường gặp khi nhóm

Yêu cầu: Hiển thị mọi tiêu đề phim, nhóm theo ngôn ngữ

SELECT title
FROM films
GROUP BY language;
cột "films.title" phải xuất hiện trong
mệnh đề GROUP BY hoặc được dùng trong 
hàm tổng hợp DÒNG 1...

Sửa của AI:

  • Thêm hàm COUNT()
    SELECT language, COUNT(title) AS count
    FROM films
    GROUP BY language;
    
  • Chọn trường đúng
    SELECT title, language
    FROM films
    GROUP BY title, language;
    
Truy vấn SQL Trung cấp với AI

Gợi ý yêu cầu nhóm

Yêu cầu: Đếm phim theo quốc gia và ngôn ngữ

SELECT country, language, COUNT(*) AS film_count
FROM films
GROUP BY country, language;
|country           |language|film_count|
|------------------|--------|----------|
|                  |        |1         |
|Pakistan          |Urdu    |1         |
|Mexico            |English |3         |
|Dominican Republic|Spanish |1         |
...
Truy vấn SQL Trung cấp với AI

Nhóm và sắp xếp

Yêu cầu: Xếp hạng ngôn ngữ theo số phim, hiển thị top 3

SELECT language, COUNT(*) AS film_count
FROM films
GROUP BY language
ORDER BY film_count DESC
LIMIT 3;
|language|film_count|
|--------|----------|
|English |4635      |
|French  |72        |
|Spanish |40        |
Truy vấn SQL Trung cấp với AI

Ayo berlatih!

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

Preparing Video For Download...