Theintagg
Mô -đun cung cấp bộ tổng hợp số nguyên và bộ liệt kê.intagg
9804_10001
Bộ tổng hợp là hàm tổng hợpint_array_aggregate (số nguyên)
tạo ra tỷ lệ kèo bóng đá mảng số nguyên chứa chính xác các số nguyên mà nó được cho ăn. Đây là tỷ lệ kèo bóng đá trình bao bọc xung quanhmảng_agg
, làm điều tương tự cho bất kỳ loại mảng nào.
Người liệt kê là tỷ lệ kèo bóng đá hàmint_array_enum (số nguyên [])
Trở lạiSố nguyên setof
. Nó thực chất là hoạt động ngược của bộ tổng hợp: đưa ra tỷ lệ kèo bóng đá loạt các số nguyên, mở rộng nó thành tỷ lệ kèo bóng đá tập hợp các hàng. Đây là tỷ lệ kèo bóng đá trình bao bọc xung quanhUnnest
, làm điều tương tự cho bất kỳ loại mảng nào.
Nhiều hệ thống cơ sở dữ liệu có khái niệm về tỷ lệ kèo bóng đá bảng. tỷ lệ kèo bóng đá bảng như vậy thường nằm giữa hai bảng được lập chỉ mục, ví dụ:
Tạo tỷ lệ kèo bóng đá bên trái (khóa chính ID int, ...); Tạo tỷ lệ kèo bóng đá đúng (khóa chính ID int, ...); Tạo tỷ lệ kèo bóng đá One_To_Many (Int Int TÀI LIỆU THAM KHẢO, RIGHT INT TÀI LIỆU THAM KHẢO bên phải);
Nó thường được sử dụng như thế này:
11708_11815Mục
;
Điều này sẽ trả lại tất cả các mục trong bảng bên phải cho tỷ lệ kèo bóng đá mục trong bảng tay trái. Đây là tỷ lệ kèo bóng đá cấu trúc rất phổ biến trong SQL.
Bây giờ, phương pháp này có thể cồng kềnh với số lượng rất lớn các mục trongONE_TO_MANY
12144_12464
12499_12613
Điều này sẽ tạo tỷ lệ kèo bóng đá bảng với tỷ lệ kèo bóng đá hàng trên mỗi mục bên trái và tỷ lệ kèo bóng đá mảng các mục phải. Bây giờ điều này là khá vô dụng mà không cần tỷ lệ kèo bóng đá số cách sử dụng mảng; Đó là lý do tại sao có tỷ lệ kèo bóng đá người liệt kê mảng. Bạn có thể làm
Chọn tỷ lệ kèo bóng đá, int_array_enum (phải) từ tóm tắt ở đâu bên tỷ lệ kèo bóng đá =Mục
;
Truy vấn trên sử dụngint_array_enum
tạo ra kết quả giống như
Chọn tỷ lệ kèo bóng đá, ngay từ One_To_Many ở đâu bên tỷ lệ kèo bóng đá =Mục
;
Sự khác biệt là truy vấn đối với bảng tóm tắt chỉ có tỷ lệ kèo bóng đá hàng từ bảng, trong khi truy vấn trực tiếp chống lạiONE_TO_MANY
phải chỉ mục quét và lấy tỷ lệ kèo bóng đá hàng cho mỗi mục.
Trên tỷ lệ kèo bóng đá hệ thống, tỷ lệ kèo bóng đáGiải thích
13516_13628ONE_TO_MANY
tỷ lệ kèo bóng đá, được thay thế bằng:
Chọn phải, đếm (bên phải) từ
(Chọn tỷ lệ kèo bóng đá, int_array_enum (phải) bên phải
Từ Tóm tắt Tham gia (chọn bên tỷ lệ kèo bóng đá từ trái_Table WHERE bên tỷ lệ kèo bóng đá =Mục
) như tỷ lệ kèo bóng đá
Trên (Tóm tắt.left = lefts.left)
) Như danh sách
Nhóm theo đúng
Đặt hàng theo đếm desc;