Hàm Last_Value() của máy chủ SQL

Ham Last Value Cua May Chu Sql



Hướng dẫn này nhằm mục đích hướng dẫn bạn hiểu hàm last_value() trong SQL Server. Hàm này cho phép bạn tìm nạp giá trị cuối cùng trong một tập hợp giá trị hoặc phân vùng được sắp xếp theo thứ tự.

Cú pháp hàm

Dưới đây là cú pháp của hàm last_value.

LAST_VALUE ( [ biểu_thức vô hướng ] )  [ BỎ QUA NULLS | TÔN TRỌNG NULL ]
QUÁ ( [ partition_by_clause ] order_by_clause [ rows_range_clause ] )

Các đối số chức năng là:







  1. scalar_expression – điều này xác định giá trị được trả về. Đây có thể là một cột hiện có, một truy vấn phụ hoặc một biểu thức trả về một giá trị duy nhất.
  2. IGNORE NULLS – điều này cho phép hàm bỏ qua các giá trị null trong tập hợp đã cho khi xác định giá trị cuối cùng trên một phân vùng
  3. RESPECT NULL – điều này ngược lại với mệnh đề IGNORE NULL. Nó buộc hàm xem xét các giá trị NULL khi xác định giá trị cuối cùng trên một phân vùng.
  4. PHÂN PHẦN BỞI – phân chia các hàng của một kết quả nhất định thành các phân vùng khác nhau. Hàm last_value sau đó được áp dụng cho các phân vùng này. Nếu thiếu mệnh đề partition_by, hàm sẽ coi tập kết quả là một nhóm duy nhất.
  5. ORDER BY – điều này xác định thứ tự các hàng trong một phân vùng nhất định tuân theo.
  6. Rows_range – mệnh đề này giới hạn các hàng trong một phân vùng nhất định. Điều này hoạt động bằng cách đặt giá trị bắt đầu và kết thúc.

Hàm trả về loại của biểu_thức vô hướng đã chỉ định.



Sử dụng Hàm last_value trên Tập kết quả

Giả sử chúng ta có một bảng như hình:







Chúng ta có thể áp dụng hàm last_value() trên một tập hợp kết quả, như được hiển thị trong truy vấn ví dụ bên dưới:

lựa chọn
TÊN MÁY CHỦ,
ĐỊA CHỈ MÁY CHỦ ,
PHƯƠNG PHÁP NÉN,
SIZE_ON_DISK,
last_value(size_on_disk) qua(
sắp xếp theo size_on_disk phạm vi giữa không giới hạn trước và không giới hạn sau) lớn nhất
từ
NHẬP E;

Giá trị kết quả:



Sử dụng hàm last_value trên một phân vùng

Chúng ta cũng có thể áp dụng hàm last_value() trên phân vùng như trong ví dụ bên dưới:

lựa chọn
TÊN MÁY CHỦ,
ĐỊA CHỈ MÁY CHỦ ,
PHƯƠNG PHÁP NÉN,
SIZE_ON_DISK,
last_value(size_on_disk) over(phân vùng bởi COMPRESSION_METHOD
sắp xếp theo size_on_disk phạm vi giữa không giới hạn trước và không giới hạn sau) lớn nhất
từ
NHẬP E;

Trong trường hợp này, dữ liệu được nhóm thành các phân vùng khác nhau dựa trên phương pháp nén.

Giá trị kết quả như hình:

Trong bảng trên, chúng tôi có năm phân vùng, với giá trị tối đa trong mỗi phân vùng được hiển thị trong cột lớn nhất.

Sự kết luận

Trong hướng dẫn này, bạn đã học cách sử dụng hàm last_value() của SQL Server để lấy giá trị cuối cùng trong một tập hợp hoặc phân vùng có thứ tự.