# SQL - Window Functions (Data Analytics) > ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, NTILE, SUM OVER, PARTITION BY, frames - 20 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Data Analytics](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van.md) ## 1. Window function trong SQL là gì? **Câu trả lời** Window function thực hiện phép tính trên một tập hợp các hàng liên quan đến hàng hiện tại mà không gộp kết quả thành một hàng đầu ra duy nhất. Khác với GROUP BY làm giảm số hàng, window function giữ lại tất cả các hàng trong kết quả đồng thời thêm một cột được tính toán. Mệnh đề OVER() xác định cửa sổ mà trên đó phép tính được thực hiện. ## 2. Mệnh đề nào là bắt buộc để định nghĩa một window function? **Câu trả lời** Mệnh đề OVER() là bắt buộc cho bất kỳ window function nào. Nó cho công cụ SQL biết rằng hàm phải được thực thi như một window function thay vì một hàm tổng hợp thông thường. OVER() có thể chứa PARTITION BY, ORDER BY và đặc tả frame, nhưng cũng có thể để trống để áp dụng phép tính trên toàn bộ tập kết quả. ## 3. Vai trò của PARTITION BY trong một window function là gì? **Câu trả lời** PARTITION BY chia tập hợp các hàng thành các nhóm độc lập (phân vùng), và window function được áp dụng riêng biệt cho mỗi phân vùng. Khác với GROUP BY, PARTITION BY không làm giảm số hàng trong kết quả. Ví dụ, SUM(sales) OVER(PARTITION BY region) tính tổng doanh số mỗi khu vực trong khi vẫn giữ lại từng hàng riêng lẻ. ## Còn 17 câu hỏi nữa - Sự khác biệt chính giữa GROUP BY và PARTITION BY là gì? - ROW_NUMBER() OVER(ORDER BY salary DESC) trả về gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Data Analytics khác - [Google Sheets - Kiến thức cơ bản](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/google-sheets-basics.md): 20 câu hỏi, Junior - [Google Sheets - Công thức nâng cao](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/google-sheets-advanced.md): 20 câu hỏi, Junior - [SQL - Cơ bản](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/sql-basics.md): 25 câu hỏi, Junior - [SQL - Tổng hợp và nhóm](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/sql-aggregations.md): 20 câu hỏi, Junior - [SQL - Joins](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/sql-joins.md): 20 câu hỏi, Junior - [BigQuery - Kiến thức cơ bản](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/bigquery-fundamentals.md): 20 câu hỏi, Junior - [Data Cleaning - Làm sạch dữ liệu](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/data-cleaning.md): 20 câu hỏi, Junior - [KPI và chỉ số kinh doanh](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/kpis-metrics.md): 20 câu hỏi, Junior - [Thống kê mô tả](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/descriptive-statistics.md): 20 câu hỏi, Junior - [Zapier và tự động hóa No-Code](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/zapier-automation.md): 20 câu hỏi, Junior - [Nguyên tắc trực quan hóa dữ liệu](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/data-viz-principles.md): 20 câu hỏi, Junior - [Python & Pandas - Cơ bản](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/python-pandas-basics.md): 20 câu hỏi, Junior - [Google Sheets - Dashboard tự động](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/google-sheets-dashboards.md): 20 câu hỏi, Mid-Level - [SQL - Truy vấn con và CTE](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/sql-subqueries-ctes.md): 20 câu hỏi, Mid-Level - [BigQuery - Tính năng nâng cao](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/bigquery-advanced.md): 20 câu hỏi, Mid-Level - [Data Modeling](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/data-modeling.md): 20 câu hỏi, Mid-Level - [Phân tích Funnel và Chuyển đổi](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/funnel-analysis.md): 20 câu hỏi, Mid-Level - [Phân tích Cohort và Retention](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/cohort-retention.md): 20 câu hỏi, Mid-Level - [Google Tag Manager và Tracking](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/gtm-tracking.md): 20 câu hỏi, Mid-Level - [API và Webhook](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/apis-webhooks.md): 20 câu hỏi, Mid-Level - [dbt - Kiến thức cơ bản](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/dbt-fundamentals.md): 20 câu hỏi, Mid-Level - [AB Testing và Thống kê Ứng dụng](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/ab-testing.md): 20 câu hỏi, Mid-Level - [Looker Studio (Google Data Studio)](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/looker-studio.md): 20 câu hỏi, Mid-Level - [Power BI - Kiến Thức Cơ Bản](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/power-bi-fundamentals.md): 20 câu hỏi, Mid-Level - [SQL - Truy Vấn Phân Tích Nâng Cao](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/sql-advanced-analytics.md): 20 câu hỏi, Senior - [dbt - Tính năng nâng cao](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/dbt-advanced.md): 20 câu hỏi, Senior - [Power BI - DAX và Dashboard Nâng Cao](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/power-bi-dax.md): 20 câu hỏi, Senior - [Python Analytics - Phân tích nâng cao và ML](https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/python-analytics-advanced.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/data-analytics/cau-hoi-phong-van/sql-window-functions