Menu
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Đang tải...

SQL Fundamentals

Technical

Viết SELECT, JOIN, GROUP BY để tự lấy data cho decision — không phải đợi data team mọi lần.

Roadmap — Cách học và đạt kỹ năng

Tại sao PM cần SQL

Mọi quyết định product đòi hỏi data. PM phải tự query được ~70% câu hỏi cơ bản (DAU, conversion funnel, cohort retention) thay vì đợi data team queue 3 ngày.

Core SQL cho PM

  • SELECT … FROM … WHERE — filter rows.
  • GROUP BY + aggregate (COUNT, SUM, AVG, MAX, MIN).
  • JOIN — INNER, LEFT, RIGHT, FULL.
  • HAVING — filter sau aggregate.
  • ORDER BY, LIMIT.
  • CASE WHEN cho conditional logic.
  • Window functionsROW_NUMBER(), LAG(), RANK() cho cohort, retention.
  • CTEs (WITH clause) để viết query phức tạp readable.

Ví dụ PM thường gặp

-- D7 retention của user signup tuần trước
WITH cohort AS (
  SELECT id, DATE(created_at) AS signup_date
  FROM users
  WHERE created_at BETWEEN '2026-04-01' AND '2026-04-07'
),
active AS (
  SELECT DISTINCT user_id, DATE(event_date) AS active_date
  FROM events
)
SELECT
  COUNT(DISTINCT c.id) AS signups,
  COUNT(DISTINCT CASE WHEN a.active_date = c.signup_date + INTERVAL 7 DAY THEN c.id END) AS d7_retained
FROM cohort c
LEFT JOIN active a ON a.user_id = c.id;

Lộ trình học

  1. Mode Analytics / SQLBolt / sqlzoo — bài tập từ basic tới advanced.
  2. Câu hỏi thực tế trên data của công ty bạn — request access read-only.
  3. Self-serve dashboard trên Metabase/Redash để team không-tech cũng dùng.

Common pitfalls

  • SELECT * trên bảng triệu rows → DB engineer ghét bạn.
  • Quên timezone — Vietnam là UTC+7, log thường UTC.
  • Confuse COUNT(DISTINCT)COUNT(*).

Khóa học liên quan (2)

Sử dụng trong vai trò

Thảo luận & tài liệu thêm 0

Chia sẻ kinh nghiệm, đặt câu hỏi, hoặc đính kèm tài liệu/YouTube giúp người khác học kỹ năng này.

Hãy là người đầu tiên chia sẻ kinh nghiệm cho kỹ năng này.