Data Engineering

SQL nâng cao cho Data Engineering

Window functions, CTE đệ quy, truy vấn phân tích, tối ưu hóa, EXPLAIN ANALYZE, lập chỉ mục, phân vùng

20 câu hỏi phỏng vấn·
Mid-Level
1

Window function nào gán một số thứ tự duy nhất cho mỗi hàng trong một phân vùng?

Câu trả lời

ROW_NUMBER() gán một số thứ tự duy nhất cho mỗi hàng trong một phân vùng, bắt đầu từ 1. Không giống như RANK() và DENSE_RANK() có thể gán cùng một số cho các giá trị bằng nhau, ROW_NUMBER() luôn đảm bảo các số duy nhất, ngay cả với các giá trị giống hệt nhau trong mệnh đề ORDER BY.

2

Sự khác biệt chính giữa RANK() và DENSE_RANK() là gì?

Câu trả lời

RANK() để lại các khoảng trống trong việc đánh số sau các giá trị trùng nhau. Ví dụ, nếu hai hàng được xếp hạng 1, hàng tiếp theo sẽ được xếp hạng 3. DENSE_RANK() không để lại khoảng trống: sau hai hàng xếp hạng 1, hàng tiếp theo sẽ được xếp hạng 2. Sự khác biệt này quan trọng đối với các phân tích xếp hạng, nơi các khoảng trống có thể làm sai lệch số liệu thống kê.

3

Làm thế nào để tính tổng tích lũy (running total) với window function?

Câu trả lời

SUM() OVER với ORDER BY và không có frame rõ ràng sử dụng mặc định ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW, tính tổng tất cả các hàng trước đó cho đến và bao gồm hàng hiện tại. Đây là hành vi tiêu chuẩn để tạo tổng tích lũy trong phân tích chuỗi thời gian hoặc tuần tự.

4

Vai trò của mệnh đề PARTITION BY trong window function là gì?

5

Hàm nào cho phép truy cập giá trị của hàng trước đó trong window function?

+17 câu hỏi phỏng vấn

Các chủ đề phỏng vấn Data Engineering khác

Nắm vững Data Engineering cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí