Phiên bản được hỗ trợ:hiện tại(17)16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

9.21. Chức năng soi kèo bóng đá truoctran sổ

chức năng soi kèo bóng đá truoctran sổCung cấp khả năng thực hiện các tính toán trên các bộ soi kèo bóng đá truoctran có liên quan đến soi kèo bóng đá truoctran truy vấn hiện tại. Nhìn thấyPhần 3.5Để giới thiệu về tính năng này vàPhần 4.2.8cho chi tiết cú pháp.

Các chức năng soi kèo bóng đá truoctran sổ tích hợp được liệt kê trongBảng 9-53. Lưu ý rằng các chức năng nàyphảiĐược gọi bằng cú pháp chức năng soi kèo bóng đá truoctran sổ; đó là mộtOvermệnh đề là bắt buộc.

Ngoài các chức năng này, bất kỳ hàm tổng hợp thông thường được tích hợp hoặc người dùng xác định (nhưng không được đặt hàng tập hợp hoặc tập hợp giả thuyết) có thể được sử dụng làm hàm soi kèo bóng đá truoctran sổ; nhìn thấyPhần 9.20Đối với một danh sách các tập hợp tích hợp. Các chức năng tổng hợp chỉ hoạt động như các chức năng soi kèo bóng đá truoctran sổ khi mộtOvermệnh đề tuân theo cuộc gọi; nếu không thì chúng hoạt động như các tập hợp thông thường.

Bảng 9-53. Chức năng soi kèo bóng đá truoctran sổ đa năng

chức năng Return Type Mô tả
row_number () Bigint Số lượng soi kèo bóng đá truoctran hiện tại trong phân vùng của nó, đếm từ 1
xếp hạng () Bigint Xếp hạng của soi kèo bóng đá truoctran hiện tại với các khoảng trống; Giống nhưRow_Numbercủa đầu tiên của nó
dense_rank () Bigint Xếp hạng của soi kèo bóng đá truoctran hiện tại không có khoảng trống; chức năng này đếm các nhóm ngang soi kèo bóng đá truoctran
phần trăm_rank () Double Precision Xếp hạng tương đối của soi kèo bóng đá truoctran hiện tại: (Xếp hạng- 1) / (tổng số soi kèo bóng đá truoctran - 1)
cume_dist () Độ chính xác gấp đôi Xếp hạng tương đối của soi kèo bóng đá truoctran hiện tại: (số lượng soi kèo bóng đá truoctran trước hoặc ngang soi kèo bóng đá truoctran với soi kèo bóng đá truoctran hiện tại) / (tổng soi kèo bóng đá truoctran)
ntile (num_buckets Số nguyên) Số nguyên Số nguyên từ 1 đến giá trị đối số, chia phân vùng càng tốt
LAG (giá trị AnyEuity[,Offset Số nguyên[,mặc định AnyEuity]]) cùng loại vớigiá trị returngiá trịđược đánh giá ở soi kèo bóng đá truoctran đó làOffsetsoi kèo bóng đá truoctran trước soi kèo bóng đá truoctran hiện tại trong phân vùng; Nếu không có soi kèo bóng đá truoctran như vậy, thay vào đó hãy trả vềMặc định(phải cùng loại vớigiá trị). Cả haiOffsetMặc địnhđược đánh giá liên quan đến soi kèo bóng đá truoctran hiện tại. Nếu bị bỏ qua,OffsetMặc định là 1 vàMặc địnhđến NULL
chì (giá trị AnyEuity[,Offset Số nguyên[,mặc định AnyEuity]]) cùng loại vớigiá trị returngiá trịđược đánh giá ở soi kèo bóng đá truoctran đó làOffsetsoi kèo bóng đá truoctran sau soi kèo bóng đá truoctran hiện tại trong phân vùng; Nếu không có soi kèo bóng đá truoctran như vậy, thay vào đó hãy trả vềMặc định(phải cùng loại vớigiá trị). Cả haiOffsetmặc địnhđược đánh giá liên quan đến soi kèo bóng đá truoctran hiện tại. Nếu bị bỏ qua,OffsetMặc định là 1 vàMặc địnhđến NULL
First_value (giá trị Any) cùng loại vớigiá trị returngiá trịđược đánh giá ở hàng là hàng đầu tiên của khung soi kèo bóng đá truoctran sổ
last_value (giá trị bất kỳ) cùng loại vớigiá trị returngiá trịĐược đánh giá ở hàng là hàng cuối cùng của khung soi kèo bóng đá truoctran sổ
nth_value (giá trị bất kỳ, nth Số nguyên) cùng loại vớigiá trị returngiá trịđược đánh giá ở soi kèo bóng đá truoctran đó lànthHàng của khung soi kèo bóng đá truoctran sổ (đếm từ 1); null nếu không có hàng như vậy

Tất cả các chức năng được liệt kê trongBảng 9-53phụ thuộc vào thứ tự sắp xếp được chỉ định bởiĐặt soi kèo bóng đá truoctran bởimệnh đề của định nghĩa soi kèo bóng đá truoctran sổ liên quan. Hàng không khác biệt trongđặt soi kèo bóng đá truoctran bởiĐặt soi kèo bóng đá truoctran được cho làPeers; Bốn chức năng xếp hạng được xác định để chúng đưa ra cùng một câu trả lời cho bất kỳ hai soi kèo bóng đá truoctran ngang soi kèo bóng đá truoctran nào.

Lưu ý rằngfirst_value, last_valuenth_valueChỉ xem xét các soi kèo bóng đá truoctran trong"khung soi kèo bóng đá truoctran sổ", theo mặc định có chứa các soi kèo bóng đá truoctran từ đầu phân vùng thông qua ngang soi kèo bóng đá truoctran cuối cùng của soi kèo bóng đá truoctran hiện tại. Điều này có khả năng cho kết quả không có ích cholast_valueVà đôi khi cũngnth_value. Bạn có thể xác định lại khung bằng cách thêm một đặc tả khung phù hợp (phạm vihoặcsoi kèo bóng đá truoctran) đếnOvermệnh đề. Nhìn thấyPhần 4.2.8Để biết thêm thông tin về thông số kỹ thuật khung.

Khi một hàm tổng hợp được sử dụng làm hàm soi kèo bóng đá truoctran sổ, nó tổng hợp trên các hàng trong khung soi kèo bóng đá truoctran sổ của hàng hiện tại. Một tổng hợp được sử dụng vớiĐặt soi kèo bóng đá truoctran bởiVà định nghĩa khung soi kèo bóng đá truoctran sổ mặc định tạo ra"Sum chạy"loại hành vi, có thể hoặc không phải là những gì mong muốn. Để có được tổng hợp trên toàn bộ phân vùng, hãy bỏ quaĐặt soi kèo bóng đá truoctran bởihoặc sử dụngsoi kèo bóng đá truoctran giữa không bị ràng buộc trước và không bị ràng buộc sau. Các thông số kỹ thuật khác có thể được sử dụng để có được các hiệu ứng khác.

Lưu ý:Tiêu chuẩn SQL xác định ATôn trọng NULLShoặcbỏ qua nullsTùy chọn chochì, LAG, First_value, last_valuenth_value. Điều này không được triển khai trongPostgreSQL: Hành vi luôn giống như mặc định của tiêu chuẩn, cụ thể làTôn trọng NULLS. Tương tự như vậy, tiêu chuẩn củaTừ đầu tiênhoặcTừ cuốiTùy chọn chonth_valuekhông được triển khai: chỉ mặc địnhTừ đầu tiênHành vi được hỗ trợ. (Bạn có thể đạt được kết quả củaTừ cuốibằng cách đảo ngượcĐặt soi kèo bóng đá truoctran bởiĐặt soi kèo bóng đá truoctran.)