Bài tập SQL có chấm điểm tự động

Sáu trăm bài trên ba bộ dữ liệu thật, mỗi lần vào máy chủ rút ba mươi câu nên quay lại lần sau vẫn có bài mới. Câu lệnh của bạn chạy trên Postgres thật rồi được chấm bằng cách so kết quả, không phải so chuỗi ký tự, nên viết cách nào ra đúng kết quả cũng được tính là đạt.

Dữ liệu ở đây cố ý chưa làm sạch, đúng như dữ liệu thô lúc đi làm. Phần khó của mỗi bài thường không nằm ở cú pháp mà ở chỗ nhận ra dữ liệu đang bẩn ở đâu và phải xử lý thế nào trước khi tính.

Ba lĩnh vực

  • Thương mại điện tử

    Khách hàng, sản phẩm, đơn hàng và bảng ghi nhận thay đổi. Tỉnh thành viết ba kiểu, mã khách mồ côi, mỗi đơn nhiều dòng chi tiết nên quên gom nhóm là nhân bản ngay.

  • Marketing

    Chiến dịch, quảng cáo, hiệu quả theo ngày và chuyển đổi. Kênh viết thành Facebook, facebook, FB rồi Meta; chi phí âm; lượt nhấp nhiều hơn lượt hiển thị.

  • Mobile App

    Người dùng, phiên, sự kiện, giao dịch và sự cố. Nền tảng viết thành iOS, ios, IOS rồi Apple; thời lượng phiên âm; sự kiện gửi trùng do gửi lại.

Máy chấm trả lời theo năm bậc

Dừng ở bậc đầu tiên bị trượt, vì báo cùng lúc nhiều lỗi thì không biết sửa từ đâu.

  1. Truy vấn không chạy, trả nguyên thông báo của Postgres kèm bản dịch tiếng Việt
  2. Sai số cột, nói rõ có mấy cột và cần mấy cột
  3. Sai tên hoặc thứ tự cột, chỉ ra thiếu cột nào thừa cột nào
  4. Sai số dòng, gợi ý khác nhau tuỳ nhiều hơn hay ít hơn mong đợi
  5. Đúng khung nhưng sai giá trị, chỉ đúng tên những cột chưa khớp

Kỹ thuật được phủ

lọc dữ liệu, sắp xếp, giới hạn số dòng, phân biệt giá trị rỗng với chuỗi rỗng, gom nhóm, lọc sau khi gom nhóm, nối bảng, nối phủ định, hàm ngày tháng, xử lý chuỗi, rẽ nhánh bằng case when, truy vấn lồng bằng cte, hàm cửa sổ, khử trùng lặp, tính tỷ lệ.

Đang chuẩn bị bộ đề, máy chủ rút ba mươi câu cho bạn, mỗi lần vào là một bộ khác.

tik: @huypq17b6