Window Functions trong SQL (phần 3)

Bởi Kiên Smart Data
0 Nhận xét

Tiếp tục seri về các Window Functions trong SQL, trong bài viết này SmartData sẽ chia sẻ về các hàm trong nhóm Analytic Function. Các hàm thường được sử dụng trong nhóm này là lag(), lead(),..Hãy cùng SmartData đi vào chi tiết chức năng và cách dùng của từng hàm.

Vẫn với dataset sử dụng ở bài trước, ta sẽ dùng với các hàm sau đây

Hàm lag trong Window function

Cú pháp đầy đủ:

LAG(expr [, N[, default]])

Hàm trả về giá trị của hàng trước kể từ row hiện tại, nếu không tồn tại hàng đó thì trả về giá trị default. Trường hợp để trống N & default thì mặc định N = 1 và default = NULL.

Ví dụ:

SQL> SELECT *, LAG(sale_price) over(PARTITION by category) as lag_ from sample

Kết quả:

Ta sẽ thấy nhóm theo category thì hàm lag sẽ giá về giá trị cột được chỉ định của row ngay trên nó

Hàm lead trong Window function

Cú pháp đầy đủ:

LEAD(expr [, N[, default]])

Hàm trả về giá trị của hàng sau kể từ row hiện tại, nếu không tồn tại hàng đó thì trả về giá trị default. Trường hợp để trống N & default thì mặc định N = 1 và default = NULL.

Ví dụ:

SQL> SELECT *, lead(sale_price) over(PARTITION by category) as lead_ from sample

Kết quả:

Ta sẽ thấy nhóm theo category thì hàm lead sẽ giá về giá trị cột được chỉ định của row ngay dưới nó

Hàm first_value trong Window function

Cú pháp đầy đủ:

FIRST_VALUE(expr)

Hàm trả về giá trị đầu tiên theo nhóm partition chỉ định.

Ví dụ:

SQL> SELECT *, FIRST_VALUE(sale_price) over(PARTITION by category) as first_value_category from sample

Kết quả:

Ta thấy hàm first_value trả về giá trị đầu tiên của của từng nhóm bởi trường category

Hàm last_value trong Window function

Cú pháp đầy đủ:

LAST_VALUE(expr)

Hàm trả về giá trị đầu tiên theo nhóm partition chỉ định.

Ví dụ:

SQL> SELECT *, LAST_VALUE(sale_price) over(PARTITION by category) as last_value_category from sample 

Kết quả:

Ta thấy hàm last_value trả về giá trị đầu tiên của của từng nhóm bởi trường category

Kết luận

Các nhóm thuộc nhóm Analytic Function được sử dụng rất tốt trường các trường hợp muốn so sánh, tính độ lệch dữ liệu. Phục vụ việc tính toán phân tích dữ liệu

Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 3 tháng của SmartData

Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa:

Bài viết liên quan

Để lại nhận xét

Copyright @2022 – Bản quyền thuộc Học viện dữ lệu Smart Data