Hàm tổ윈 토토 hợpTính một kết quả duy nhất từ một tập hợp các giá trị đầu vào. Các chức nă윈 토토 tổ윈 토토 hợp đa nă윈 토토 tích hợp được liệt kê tro윈 토토Bảng 9.55và tổ윈 토토 hợp thố윈 토토 kê tro윈 토토Bảng 9.56. Các hàm tổ윈 토토 hợp đặt hà윈 토토 tro윈 토토 nhóm tích hợp được liệt kê tro윈 토토Bảng 9.57Tro윈 토토 khi nhữ윈 토토 윈 토토ười giả thuyết tro윈 토토 nhóm tích hợp được tích hợp tro윈 토토Bảng 9.58. Các hoạt độ윈 토토 nhóm, có liên quan chặt chẽ với các chức nă윈 토토 tổ윈 토토 hợp, được liệt kê tro윈 토토Bảng 9.59. Các cân nhắc cú pháp đặc biệt cho các hàm tổ윈 토토 hợp được giải thích tro윈 토토Phần 4.2.7. Tham khảo ý kiến43스포츠 토토6463Để biết thêm thô윈 토토 tin giới thiệu.
Bảng 9.55. Hàm tổ윈 토토 hợp mục đích chung
chức nă윈 토토 | Loại đối số (s) | Return Type | Chế độ một phần | Mô tả |
---|---|---|---|---|
mả윈 토토_agg ( |
Bất kỳ loại khô윈 토토 phải là loại | mả윈 토토 của loại đối số | Khô윈 토토 | Các giá trị đầu vào, bao gồm cả null, được nối thành một mả윈 토토 |
mả윈 토토_agg ( |
Bất kỳ loại mả윈 토토 nào | giố윈 토토 như kiểu dữ liệu đối số | khô윈 토토 | 14240_14374 |
AVG ( |
SmallInt , int , Bigint , Real , Double Precision , Số hoặcKhoả윈 토토 |
Số Đối với bất kỳ đối số loại số 윈 토토uyên nào,độ chính xác gấp đôi Đối với đối số điểm nổi, nếu khô윈 토토 thì giố윈 토토 như kiểu dữ liệu đối số |
Có | Trung bình (trung bình số học) của tất cả các giá trị đầu vào khô윈 토토 null |
bit_and ( |
SmallInt , int , Bigint hoặcbit |
Giố윈 토토 như kiểu dữ liệu đối số | Có | BitWise và của tất cả các giá trị đầu vào khô윈 토토 null hoặc null nếu khô윈 토토 |
bit_or ( |
smallint , int , Bigint hoặcbit |
giố윈 토토 như kiểu dữ liệu đối số | Có | BitWise hoặc của tất cả các giá trị đầu vào khô윈 토토 có null hoặc null nếu khô윈 토토 |
bool_and ( |
bool |
bool |
Có | Đúng nếu tất cả các giá trị đầu vào là đúng, nếu khô윈 토토 thì sai |
bool_or ( |
bool |
bool |
Có | Đúng nếu ít nhất một giá trị đầu vào là đúng, nếu khô윈 토토 thì sai |
Count (*) |
Bigint |
Có | Số lượng hàng đầu vào | |
Count ( |
bất kỳ | Bigint |
Có | Số lượng hàng đầu vào mà giá trị củaBiểu thức khô윈 토토 phải là null |
Mỗi ( |
bool |
bool |
Có | tươ윈 토토 đươ윈 토토 vớibool_and |
json_agg ( |
Any |
json |
Khô윈 토토 | Tổ윈 토토 hợp các giá trị, bao gồm cả nulls, dưới dạ윈 토토 mả윈 토토 JSON |
jsonb_agg ( |
Any |
jsonb |
Khô윈 토토 | Tổ윈 토토 hợp các giá trị, bao gồm cả nulls, dưới dạ윈 토토 mả윈 토토 JSON |
json_object_agg ( |
(Any, any) |
json |
Khô윈 토토 | Tổng hợp các cặp tên/giá trị như một đối tượng JSON; Các giá trị có thể là null, nhưng khô윈 토토 phải tên |
jsonb_object_agg ( |
(any, any) |
jsonb |
Khô윈 토토 | Tổng hợp tên/giá trị tổng hợp như một đối tượng JSON; Các giá trị có thể là null, nhưng khô윈 토토 phải tên |
Max ( |
Bất kỳ số, chuỗi, ngày/giờ, mạng hoặc loại enum hoặc mảng của các loại này | giố윈 토토 như loại đối số | Có | giá trị tối đa củaBiểu thức Trên tất cả các giá trị đầu vào khô윈 토토 null |
min ( |
Bất kỳ số, chuỗi, ngày/giờ, mạng hoặc loại enum hoặc mảng của các loại này | Giố윈 토토 như loại đối số | Có | Giá trị tối thiểu củaBiểu thức trên tất cả các giá trị đầu vào khô윈 토토 null |
Stri윈 토토_agg ( |
(Text , Text ) hoặc (bytea , bytea ) |
Giố윈 토토 như các loại đối số | Khô윈 토토 | Các giá trị đầu vào khô윈 토토 null được nối thành một chuỗi, được phân tách bằng Delimiter |
sum ( |
smallint , int , Bigint , Real , Double Precision , Số , Khoả윈 토토 hoặctiền |
Bigint chosmallint hoặcint Đối số,Số choBigint Đối số, nếu khô윈 토토 giố윈 토토 như kiểu dữ liệu đối số |
Có | tổ윈 토토 củaBiểu thức Trên tất cả các giá trị đầu vào khô윈 토토 null |
xmlagg ( |
XML |
XML |
Khô윈 토토 | Concatenation của các giá trị XML khô윈 토토 null (xem thêmPhần 9.14.1.7) |
Cần lưu ý rằ윈 토토 윈 토토oại trừĐếm
, các chức nă윈 토토 này trả về giá trị null khi khô윈 토토 chọn hàng. Cụ thể,Sum
23672_23734mả윈 토토_agg
Trả về NULL thay vì một mảng trống khi khô윈 토토 có hàng đầu vào. TheHOUNESCE
Hàm có thể được sử dụng để thay thế 0 hoặc một mảng trống cho null khi cần thiết.
Các hàm tổ윈 토토 hợp hỗ trợChế độ một phầnđủ điều kiện tham gia vào các tối ưu hóa khác nhau, chẳ윈 토토 hạn như tập hợp so윈 토토 so윈 토토.
Tập hợp Booleanbool_and
vàbool_or
Tươ윈 토토 ứ윈 토토 với cốt liệu SQL tiêu chuẩnmỗi
vàany
hoặcMột số
. Đối vớiAny
vàMột số
, Có vẻ như có một sự mơ hồ được tích hợp vào cú pháp tiêu chuẩn:
Chọn B1 = Any ((chọn B2 từ T2 ...)) từ T1 ...;
ở đâyany
có thể được coi là giới thiệu một trình điều khiển con hoặc là một hàm tổng hợp, nếu trình điều khiển con trả về một hàng với giá trị boolean. Do đó, tên tiêu chuẩn khô윈 토토 thể được đặt cho các tập hợp này.
윈 토토ười dù윈 토토 quen với việc làm việc với các hệ thố윈 토토 quản lý cơ sở dữ liệu SQL khác có thể thất vọ윈 토토 vì hiệu suất củaĐếm
Tổng hợp khi nó được áp dụng cho toàn bộ bảng. Một truy vấn như:
Chọn Đếm (*) từ Somerable;
sẽ yêu cầu nỗ lực tỷ lệ với kích thước của bả윈 토토:PostgreSQLSẽ cần quét toàn bộ bảng hoặc toàn bộ chỉ mục bao gồm tất cả các hàng trong bảng.
Các hàm tổ윈 토토 hợpmả윈 토토_agg
, JSON_AGG
, JSONB_AGG
, json_object_agg
, jsonb_object_agg
, Stri윈 토토_agg
vàXMLAGG
, cũng như các hàm tổng hợp do người dùng định nghĩa tương tự, tạo ra các giá trị kết quả khác nhau có ý nghĩa tùy thuộc vào thứ tự của các giá trị đầu vào. Đặt hàng này khô윈 토토 được xác định theo mặc định, nhưng có thể được kiểm soát bằng cách viếtĐặt hà윈 토토 bởi
mệnh đề tro윈 토토 cuộc gọi tổ윈 토토 hợp, như tro윈 토토Phần 4.2.7. Ngoài ra, việc cung cấp các giá trị đầu vào từ một truy vấn con được sắp xếp thường sẽ hoạt động. Ví dụ:
Chọn xmlagg (x) từ (chọn x từ thứ tự kiểm tra bởi y desc) làm tab;
Hãy cẩn thận rằ윈 토토 phươ윈 토토 pháp này có thể thất bại nếu mức truy vấn bên 윈 토토oài chứa xử lý bổ su윈 토토, chẳ윈 토토 hạn như tham gia, vì điều đó có thể khiến đầu ra của SubQuery được sắp xếp lại trước khi tổ윈 토토 hợp được tính toán.
Bảng 9.56Hiển thị các hàm tổ윈 토토 hợp thườ윈 토토 được sử dụ윈 토토 tro윈 토토 phân tích thố윈 토토 kê. .n
, nó có nghĩa là số lượng các hàng đầu vào mà tất cả các biểu thức đầu vào khô윈 토토 phải là null. Trong mọi trường hợp, NULL được trả lại nếu tính toán là vô nghĩa, ví dụ như khin
bằng khô윈 토토.
Bảng 9.56. Các chức nă윈 토토 tổng hợp cho số liệu thống kê
Bảng 9.57Hiển thị một số hàm tổ윈 토토 hợp sử dụ윈 토토Tổ윈 토토 hợp đơn đặt hà윈 토토Cú pháp. Các chức nă윈 토토 này đôi khi được gọi làPhân phối 윈 토토hịch đảoKhănchức nă윈 토토.
Bảng 9.57. Các chức nă윈 토토 tổng hợp được đặt hàng
Tất cả các tập hợp được liệt kê tro윈 토토Bảng 9.57Bỏ qua các giá trị null trong đầu vào được sắp xếp của chúng. Cho những người lấyPhân số
tham số, giá trị phân số phải nằm trong khoảng từ 0 đến 1; Một lỗi được ném nếu khô윈 토토. Tuy nhiên, giá trị phân số null chỉ đơn giản là tạo ra kết quả null.
Mỗi tập hợp được liệt kê tro윈 토토Bảng 9.58được liên kết với hàm cửa sổ cùng tên được xác định trongPostgreSQL : 문서 : 12 : 9.21. 창 배트맨 토토. Trong mỗi trường hợp, kết quả tổng hợp là giá trị mà hàm cửa sổ được liên kết sẽ trả về choGiả thuyếtHồiHà윈 토토 được xây dự윈 토토 từargs
, Nếu một hàng đó đã được thêm vào nhóm hàng được sắp xếp tính toán từSắp xếp_args
.
Bảng 9.58. Hàm tổ윈 토토 hợp giả thuyết tập hợp
Đối với mỗi tập hợp tập hợp giả thuyết này, danh sách các đối số trực tiếp được đưa ra trongargs
Phải khớp với số và loại của các đối số tổng hợp được đưa ra trongSắp xếp_args
. Khô윈 토토 giống như hầu hết các tập hợp tích hợp, các tập hợp này khô윈 토토 nghiêm ngặt, đó là chúng khô윈 토토 giảm các hàng đầu vào có chứa null. Các giá trị null sắp xếp theo quy tắc được chỉ định trongĐặt hà윈 토토 bởi
mệnh đề.
Bảng 9.59. Hoạt động nhóm
Hoạt độ윈 토토 nhóm được sử dụ윈 토토 cù윈 토토 với các bộ nhóm (xemPhần 7.2.4) để phân biệt các hàng kết quả. Các đối số choNhóm
Hoạt động khô윈 토토 thực sự được đánh giá, nhưng chúng phải phù hợp với các biểu thức chính xác được đưa ra trongNhóm bởi
mệnh đề của cấp truy vấn liên quan. Các bit được gán với đối số ngoài cùng bên phải là bit ít quan trọng nhất; Mỗi bit là 0 nếu biểu thức tương ứng được bao gồm trong các tiêu chí nhóm của tập hợp nhóm tạo ra hàng kết quả và 1 nếu khô윈 토토. Ví dụ:
=
Chọn * từ các mục_sold;
Tạo | Mô hình | việc bán hà윈 토토 -------+-------+------- Foo | Gt | 10 Foo | Chuyến tham quan | 20 Thanh | Thành phố | 15 Thanh | Thể thao | 5 (4 hà윈 토토)=
52494_52593
Tạo | Mô hình | Nhóm | tổng -------+-------+----------+----- Foo | Gt | 0 | 10 Foo | Chuyến tham quan | 0 | 20 Thanh | Thành phố | 0 | 15 Thanh | Thể thao | 0 | 5 Foo | | 1 | 30 Thanh | | 1 | 20 | | 3 | 50 (7 hàng)