Trang chủ>  Blog >  Kiến thức chuyên môn >  10 SQL Pattern Quan Trọng Cho Data Analyst – Phải Thuộc Lòng

10 SQL Pattern Quan Trọng Cho Data Analyst – Phải Thuộc Lòng


SQL là “vũ khí số 1” của mọi Data Analyst. Nhưng không phải ai cũng biết cách dùng SQL hiệu quả – nhiều bạn chỉ dừng ở SELECT, WHERE đơn giản. 💡 Đây là 10 SQL pattern (mẫu câu truy vấn) phổ biến nhất trong công việc Data Analyst, kèm ví dụ thực tế để bạn có thể copy–paste và áp dụng ngay.

  315 lượt xem

Nội dung bài viết

Lấy Top N Bản Ghi Theo Nhóm

SELECT customer_id, order_date, revenue

FROM (

  SELECT *,

         ROW_NUMBER() OVER(PARTITION BY customer_id ORDER BY order_date ASC) AS rn

  FROM orders

) t

WHERE rn = 1;

📌 Use case: Lấy đơn hàng đầu tiên của từng khách để phân tích cohort.

Tính Lũy Kế (Running Total)

SELECT order_date,

       SUM(revenue) OVER(ORDER BY order_date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS cum_revenue

FROM orders;

📌 Dùng để vẽ chart doanh thu tích lũy theo thời gian (YTD).

So Sánh Tháng Này vs Tháng Trước

SELECT month,

       revenue,

       revenue - LAG(revenue) OVER(ORDER BY month) AS diff

FROM monthly_sales;

📌 Dùng để làm phân tích MoM (Month over Month).

Tìm Outlier (Giá Trị Bất Thường)

SELECT *

FROM sales

WHERE revenue > AVG(revenue) * 1.5;

📌 Dùng khi cần phát hiện đơn hàng bất thường cao bất thường.

Tìm Khách Hàng Không Mua Lại

SELECT DISTINCT c.customer_id

FROM customers c

LEFT JOIN orders o ON c.customer_id = o.customer_id

WHERE o.customer_id IS NULL;

📌 Dùng cho phân tích churn.

Gộp Nguồn Dữ Liệu Khác Schema

SELECT customer_id, revenue, '2025-Q1' AS period FROM orders_q1

UNION ALL

SELECT customer_id, revenue, '2025-Q2' AS period FROM orders_q2;

📌 Dùng khi dữ liệu chia theo quý, cần gộp thành 1 bảng.

Tìm Top 3 Sản Phẩm Theo Doanh Thu

SELECT product_id, SUM(revenue) AS total_revenue

FROM orders

GROUP BY product_id

ORDER BY total_revenue DESC

LIMIT 3;

📌 Dùng để tìm sản phẩm bán chạy nhất.

Join Bảng Lookup

SELECT o.order_id, o.revenue, p.product_name

FROM orders o

JOIN products p ON o.product_id = p.product_id;

📌 Dùng để gắn thêm thông tin tên sản phẩm từ bảng dimension.

Phân Loại Khách Theo Doanh Thu (CASE WHEN)

SELECT customer_id,

       CASE

         WHEN SUM(revenue) > 100000 THEN 'VIP'

         WHEN SUM(revenue) BETWEEN 50000 AND 100000 THEN 'Regular'

         ELSE 'Low-Value'

       END AS customer_segment

FROM orders

GROUP BY customer_id;

📌 Dùng để phân nhóm khách hàng phục vụ marketing.

Tính Tỷ Lệ Đóng Góp (Percent of Total)

SELECT product_id,

       SUM(revenue) AS total_revenue,

       SUM(revenue) * 100.0 / SUM(SUM(revenue)) OVER() AS pct_contribution

FROM orders

GROUP BY product_id;

📌 Dùng để vẽ Pareto Chart (80/20) hoặc phân tích đóng góp theo sản phẩm.

Tips Pro

  • Dùng CTE (WITH) để chia query phức tạp thành nhiều bước dễ đọc
  • Thêm comment giải thích logic → đồng đội dễ maintain
  • Kiểm tra hiệu năng bằng EXPLAIN → tối ưu join và index

Kết Luận

✅ Thuộc 10 pattern này = 80% nhu cầu phân tích của Data Analyst đã được giải quyết
✅ Giúp bạn giảm thời gian viết query, tăng thời gian phân tích insight
✅ Là nền tảng để học nâng cao hơn: Window Functions, dbt, BigQuery

🎓 Khoá “SQL for Analyst" – tại MCI Academy
• Học từ cơ bản → nâng cao, luyện tập 100+ bài tập thực tế
• Làm mini project: phân tích cohort, churn, MoM growth
• Mentor review query & tối ưu performance

📞 Hotline: 0352.433.233
📧 Email: cskh@mcivietnam.com

Chương trình đào tạo: Phân tích dữ liệu, Khoa học dữ liệu, Kĩ sư dữ liệu, Lập trình ứng dụng.
Chất lượng nhất - Uy tín nhất - Nhiều học viên tin tưởng nhất
Hơn 8000 học viên ưu tú đã tốt nghiệp
Đăng ký tư vấn khóa học

*Vui lòng nhập số điện thoại của bạn

*Vui lòng nhập họ tên của bạn

*Vui lòng chọn địa điểm học

*Vui lòng chọn giới tính

*Vui lòng chọn 1 trường


Các bài viết liên quan


Làm chủ SQL – Nền tảng phân tích dữ liệu trong thời đại số

Trong bối cảnh doanh nghiệp vận hành dựa trên dữ liệu, SQL (Structured Query Language) đã trở thành kỹ năng không thể thiếu đối với mọi vị trí liên quan đến phân tích, báo cáo và ra quyết định. Nếu Excel giúp bạn tính toán trong phạm vi một file, thì SQL cho phép truy cập trực tiếp vào cơ sở dữ liệu của doanh nghiệp, xử lý hàng triệu dòng dữ liệu chỉ trong vài giây. Khóa học SQL tại Học viện Công nghệ MCI được thiết kế cho người mới bắt đầu, giúp học viên nắm vững kỹ năng truy vấn, phân tích và xử lý dữ liệu thực tế – nền tảng cần thiết để học Power BI, Python và các kỹ năng Data Analyst chuyên sâu.

🔥 SQL Server Management Studio (SSMS) – Trái tim của thế giới cơ sở dữ liệu 🧠💾

💡 Nếu Python là ngôn ngữ để phân tích dữ liệu, thì SQL Server Management Studio (SSMS) là “bàn điều khiển trung tâm” giúp bạn quản lý, giám sát và tương tác trực tiếp với dữ liệu trong doanh nghiệp. Dù bạn là Data Analyst, Developer hay Admin – SSMS là công cụ không thể thiếu trong mọi hệ thống dữ liệu chuyên nghiệp.

🧠 ETL – Hệ thống nạp dữ liệu của thế giới Data hiện đại

💡 Dữ liệu không tự nhiên mà có — nó được thu thập, làm sạch và vận chuyển mỗi ngày qua hàng trăm pipeline. Đằng sau mọi dashboard đẹp, mọi mô hình AI thông minh, đều là ETL (Extract – Transform – Load): quá trình đưa dữ liệu từ nguồn thô → sạch → dùng được. Nếu Data Visualization là “gương mặt”, thì ETL chính là trái tim của hệ thống dữ liệu doanh nghiệp.

Các bài viết liên quan