
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
1Window 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?
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.
2Sự khác biệt chính giữa RANK() và DENSE_RANK() là gì?
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ê.
3Làm thế nào để tính tổng tích lũy (running total) với window function?
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ự.
Vai trò của mệnh đề PARTITION BY trong window function là gì?
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
Linux & Shell - Cơ bản
Git & GitHub - Kiến thức cơ bản
Python nâng cao cho Data Engineering
Docker - Cơ bản
Google Cloud Platform - Cơ bản
CI/CD và chất lượng mã
Docker Compose
FastAPI - API dữ liệu
Data Lake - Kiến trúc và nạp dữ liệu
BigQuery cho Data Engineering
PostgreSQL - Quản trị
Data Modeling cho Data Engineering
Fivetran & Airbyte - Nạp dữ liệu
dbt - Kiến thức cơ bản
Apache Airflow - Cơ bản
Kubernetes - Cơ Bản
dbt - Tính năng nâng cao
Mẫu ETL / ELT / ETLT
Apache Airflow - Nâng cao
Airflow + dbt - Điều phối pipeline
PySpark - Xử lý quy mô lớn
Google Pub/Sub - Streaming dữ liệu
Apache Beam & Dataflow
Kubernetes - Production và Scaling
Terraform - Infrastructure as Code
Cơ sở dữ liệu NoSQL
Data Architecture hiện đại
Giám sát và Khả năng quan sát
IAM và Bảo mật Dữ liệu
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í