Tạo tổng kèo bóng đá c1tên(input_data_type[, ...]) (SFUNC,,state_data_type[, FinalFunc =ffunc]init_condition]sort_operator]hoặc cú pháp cũTạo tổng kèo bóng đá c1tên(base_type,,sfunc,,state_data_type[, FinalFunc =ffunc]init_condition]sort_operator]
Tạo tổng kèo bóng đá c1Xác định mớiPhần 9.20. Nếu mộtTạo tổng kèo bóng đá c1có thể
Nếu một tên lược đồ được đưa ra (ví dụ:Tạo tổng kèo bóng đá c1 myschema.myagg ...) Sau đó
Hàm tổng kèo bóng đá c1 được xác định bởi tên và dữ liệu đầu vào của nó
Một hàm tổng kèo bóng đá c1 được tạo từ một hoặc hai bình thườngSFUNCvà Tính toán cuối cùng tùy chọnffunc. Chúng được sử dụng như
SFUNC(trạng thái nội bộ, giá trị dữ liệu tiếp theo) --- trạng thái nội bộ tiếp theoffunc(trạng thái nội bộ) --- Tổng kèo bóng đá c1-giá trị
kèo bóng đá c1Tạo tạm thờiStypeđể giữ
Hàm tổng kèo bóng đá c1 có thể cung cấp một điều kiện ban đầu, nghĩa là, nghĩa làText, nhưng nó phải là một đại diện bên ngoài kèo bóng đá c1 lệ của
Nếu chức năng chuyển đổi trạng thái được khai báo"nghiêm ngặt", thì nó không thể được gọi bằng đầu vào null.max
. Lưu ý rằng hành vi này làstate_data_typegiống như đầu tiêninput_data_type. Khi những loại này là
Nếu hàm chuyển đổi trạng thái không nghiêm ngặt, thì nó sẽ
Nếu hàm cuối cùng được khai báo"nghiêm ngặt", thì nó sẽ không được gọi khi kết thúcAVG
Trả về NULL khi nhìn thấy ở đó
Tổng kèo bóng đá c1 hoạt động nhưmin
hoặcMax
Đôi khi có thể được tối ưu hóa bằng cáchSắp xếp toán tử. Yêu cầu cơ bản là
Chọn AGG (col) từ tab;
phải tương đương với:
Chọn Col từ thứ tự tab bằng col bằng cách sử dụng giới hạn loại 1;
Các giả định tiếp theo là tổng kèo bóng đá c1 bỏ qua các đầu vào null,<Toán tử là toán tử sắp xếp thích kèo bóng đá c1 chomin
vàlà toán tử sắp xếp thích kèo bóng đá c1 choMax
. Lưu ý rằng việc tối ưu hóa sẽ không bao giờ"Ít hơn"hoặc"Lớn hơn"Thành viên chiến lược của chỉ mục B-Tree
Để có thể tạo hàm tổng kèo bóng đá c1, bạn phải cósử dụngĐặc quyền về các loại đối số,thực thiĐặc quyền về quá trình chuyển đổi và cuối cùng
Tên (Tùy chọn Lược đồ theo trình độ) của hàm tổng kèo bóng đá c1
Một kiểu dữ liệu đầu vào mà hàm tổng kèo bóng đá c1 này hoạt động. ĐẾN*thay cho danh sách các loại dữ liệu đầu vào. (MỘTCount (*)
.)
Trong cú pháp cũ choTạo tổng kèo bóng đá c1,,Basetypetham số thay vì được viết bên cạnhBasetypeAS"Any"(không*).
Tên của hàm chuyển đổi trạng thái sẽ được gọi cho mỗin-ArgumentSFUNCPhảin+1 đối số, người đầu tiênstate_data_typevàstate_data_type. Chức năng này lấy
Kiểu dữ liệu cho giá trị trạng thái của tổng kèo bóng đá c1.
Tên của hàm cuối cùng được gọi để tính toán tổng kèo bóng đá c1state_data_type. Kiểu dữ liệu trả về củaffunckhông được chỉ định, sau đóstate_data_type.
Cài đặt ban đầu cho giá trị trạng thái. Đây phải là một chuỗistate_data_type. Nếu không được chỉ định, trạng thái
toán tử sắp xếp liên quan cho Amin
- hoặcMax
-giống như
Các tham số củaTạo tổng kèo bóng đá c1Có thể