[DATABASE] Hướng dẫn sử dụng FIRST_VALUE và LAST_VALUE trong Sqlserver
Xin chào các bạn trong bài viết hôm nay, mình xin hướng dẫn đến các bạn hai hàm First_value và Last_value trong sqlsever được Microsoft cung cấp từ phiên bản Sqlsever 2012. Vậy hai hàm First_value và Last_value là gì? Đúng như tên của nó hàm first_value ...
Xin chào các bạn trong bài viết hôm nay, mình xin hướng dẫn đến các bạn hai hàm First_value và Last_value trong sqlsever được Microsoft cung cấp từ phiên bản Sqlsever 2012.
Vậy hai hàm First_value và Last_value là gì?
Đúng như tên của nó hàm first_value sẽ trả về cho chúng ta giá trị đầu tiên trong bảng.
Và Hàm Last_value sẽ trả về cho chúng ta giá trị cuối cùng.
Cú pháp:
FIRST_VALUE LAST_VALUE ( [scalar_expression ) OVER ( [ partition_by_clause ] order_by_clause rows_range_clause )
Như hình trên, từng ô mình để là một msm (máy móc) có chứa nhiều hình ảnh.
Và công việc mình muốn truy vấn ở đây là ở mỗi máy msm trả về cho mình hình ảnh đầu tiên hoặc hình cuối cùng, để mình có thể cài đặt làm hình đại diện...
Bây giờ, mình sẽ sử dụng câu truy vấn như sau:
SELECT DISTINCT msm, FIRST_VALUE(hinh) OVER (PARTITION BY msm ORDER BY msm) FstValue --LAST_VALUE(hinh) OVER (PARTITION BY msm ORDER BY msm) LstValue FROM hinh
Kết quả:
Ở hình trên, mỗi dòng đã trả về cho chúng ta một hình đầu tiên, để chúng ta có thể làm hình đại diện.
Tương tự, như hàm First_Value, các bạn thay bằng Last_value thì sqlserver sẽ trả về cho các bạn tấm hình cuối cùng.
SELECT DISTINCT msm, LAST_VALUE(hinh) OVER (PARTITION BY msm ORDER BY msm) Lstvalue FROM hinh
Và kết quả:
HAVE FUN :)