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 / 8.3
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 tỷ lệ kèo bóng đá trang chohiện tạiPhiên bản hoặc tỷ lệ kèo bóng đá trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

F.17. intagg

TheintaggMô -đun cung cấp bộ tổng hợp số nguyên và bộ liệt kê.intagg9804_10001

F.17.1. Chức năng

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.

F.17.2. Sử dụng mẫu

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_MANY12144_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_enumtạ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_MANYphả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ích13516_13628ONE_TO_MANYtỷ 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;