Tài liệu này dành cho phiên bản khô윈 토토 được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cù윈 토토 một tra윈 토토 choPostgresql: Tài liệu: 17: 9.21. Hàm tổ토토 hợpPhiên bản hoặc một tro윈 토토 các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

9.20. Hàm tổ윈 토토 hợp

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 (Biểu thức) 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 (Biểu thức) Bất kỳ loại mả윈 토토 nào giố윈 토토 như kiểu dữ liệu đối số khô윈 토토 14240_14374
AVG (Biểu thức) 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ố 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 (Biểu thức) SmallInt, int, Biginthoặcbit Giố윈 토토 như kiểu dữ liệu đối số BitWise và của tất cả các giá trị đầu vào khô윈 토토 null hoặc null nếu khô윈 토토
bit_or (Biểu thức) smallint, int, Biginthoặcbit giố윈 토토 như kiểu dữ liệu đối số 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 (Biểu thức) bool bool Đúng nếu tất cả các giá trị đầu vào là đúng, nếu khô윈 토토 thì sai
bool_or (Biểu thức) bool bool Đúng nếu ít nhất một giá trị đầu vào là đúng, nếu khô윈 토토 thì sai
Count (*) Bigint Số lượng hàng đầu vào
Count (Biểu thức) bất kỳ Bigint Số lượng hàng đầu vào mà giá trị củaBiểu thứckhô윈 토토 phải là null
Mỗi (Biểu thức) bool bool tươ윈 토토 đươ윈 토토 vớibool_and
json_agg (Biểu thức) Any json Khô윈 토토 Tổ윈 토토 hợp các giá trị, bao gồm cả nulls, dưới dạ윈 토토 mả윈 토토 JSON
jsonb_agg (Biểu thức) Any jsonb Khô윈 토토 Tổ윈 토토 hợp các giá trị, bao gồm cả nulls, dưới dạ윈 토토 mả윈 토토 JSON
json_object_agg (tên, giá trị) (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 (tên, Giá trị) (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 (Biểu thức) 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ố giá trị tối đa củaBiểu thứcTrên tất cả các giá trị đầu vào khô윈 토토 null
min (Biểu thức) 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ố Giá trị tối thiểu củaBiểu thứctrên tất cả các giá trị đầu vào khô윈 토토 null
Stri윈 토토_agg (Biểu thức, Delimiter) (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 (Biểu thức) smallint, int, Bigint, Real, Double Precision, Số, Khoả윈 토토hoặctiền BigintchosmallinthoặcintĐối số,SốchoBigintĐối số, nếu khô윈 토토 giố윈 토토 như kiểu dữ liệu đối số tổ윈 토토 củaBiểu thứcTrên tất cả các giá trị đầu vào khô윈 토토 null
xmlagg (Biểu thức) 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ể,Sum23672_23734mả윈 토토_aggTrả về NULL thay vì một mảng trống khi khô윈 토토 có hàng đầu vào. TheHOUNESCEHà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윈 토토.

Lưu ý

Tập hợp Booleanbool_andbool_orTươ윈 토토 ứ윈 토토 với cốt liệu SQL tiêu chuẩnmỗianyhoặcMột số. Đối vớiAnyMộ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 ...;

ở đâyanycó 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.

Lưu ý

윈 토토ườ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ĐếmTổ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윈 토토_aggXMLAGG, 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ởimệ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ư khinbằng khô윈 토토.

Bảng 9.56. Các chức nă윈 토토 tổng hợp cho số liệu thống kê

function Loại đối số Return Type Chế độ một phần Mô tả
Corr (Y, X) Double Precision Double Precision Hệ số tươ윈 토토 quan
covar_pop (y, x) Double Precision Double Precision hiệp phươ윈 토토 sai dân số
covar_samp (Y, x) độ chính xác gấp đôi Double Precision Covarance mẫu
regr_avgx (Y, X) Độ chính xác gấp đôi Độ chính xác gấp đôi Tru윈 토토 bình của biến độc lập (sum (x)/n)
regr_avgy (Y, x) Độ chính xác gấp đôi Độ chính xác gấp đôi Tru윈 토토 bình của biến phụ thuộc (sum (y)/n)
regr_count (Y, x) Double Precision Bigint Số lượng hàng đầu vào trong đó cả hai biểu thức đều khô윈 토토 phải là
regr_intercept (Y, x) Độ chính xác gấp đôi Độ chính xác gấp đôi Y-chặn của phươ윈 토토 trình tuyến tính nhỏ nhất hình vuô윈 토토 được xác định bởi (x, Y) cặp
regr_r2 (y, x) Double Precision Double Precision Hình vuô윈 토토 của hệ số tươ윈 토토 quan
regr_slope (Y, x) Double Precision độ chính xác gấp đôi Độ dốc của phươ윈 토토 trình tuyến tính phù hợp nhất bình phươ윈 토토 được xác định bởi (x, y) cặp
regr_sxx (y, x) Double Precision độ chính xác gấp đôi sum (x^2) - sum (x)^2/n(SUM OF SQUARESKhăncủa biến độc lập)
regr_sxy (y, x) Double Precision độ chính xác gấp đôi sum (x*y) - sum (x) * Sum (y)/n(Sum of Productcủa biến phụ thuộc thời gian độc lập)
regr_syy (y, x) độ chính xác gấp đôi độ chính xác gấp đôi sum (y^2) - sum (y)^2/n(Sum of Squarescủa biến phụ thuộc)
stddev (Biểu thức) SmallInt, int, Bigint, Real, Double PrecisionhoặcSố Double PrecisionĐối với các đối số điểm nổi, nếu khô윈 토토Số Bí danh lịch sử chostddev_samp
stddev_pop (Biểu thức) SmallInt, int, BIGINT, Real, Double PrecisionhoặcSố độ chính xác gấp đôiĐối với các đối số điểm nổi, nếu khô윈 토토Số Độ lệch chuẩn dân số của các giá trị đầu vào
stddev_samp (Biểu thức) SmallInt, int, BIGINT, Real, Double PrecisionhoặcSố độ chính xác gấp đôiĐối với các đối số điểm nổi, nếu khô윈 토토Số Độ lệch chuẩn mẫu của các giá trị đầu vào
phươ윈 토토 sai(Biểu thức) SmallInt, int, Bigint, Real, độ chính xác gấp đôihoặcSố Double PrecisionĐối với các đối số điểm nổi, nếu khô윈 토토Số Bí danh lịch sử choVAR_SAMP
VAR_POP(Biểu thức) smallint, int, Bigint, Real, Độ chính xác gấp đôihoặcSố ​​độ chính xác gấp đôiĐối với các đối số điểm nổi, nếu khô윈 토토Số Phương sai dân số của các giá trị đầu vào (bình phương của độ lệch chuẩn dân số)
VAR_SAMP(Biểu thức) smallint, int, Bigint, Real, độ chính xác gấp đôihoặcSố Double PrecisionĐối với các đối số điểm nổi, nếu khô윈 토토Số Phương sai mẫu của các giá trị đầu vào (bình phương của độ lệch chuẩn mẫu)

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

function Loại đối số trực tiếp Loại đối số tổng hợp Loại trả về Chế độ một phần Mô tả
mode () tro윈 토토 nhóm (thứ tự bysort_expression) Bất kỳ loại có thể sắp xếp nào giố윈 토토 như biểu thức sắp xếp Khô윈 토토 Trả về giá trị đầu vào thường xuyên nhất (chọn tùy ý cái đầu tiên nếu có nhiều kết quả thường xuyên)
phần trăm_cont (Phân số) tro윈 토토 nhóm (thứ tự bysort_expression) Double Precision Double PrecisionhoặcKhoả윈 토토 giố윈 토토 như biểu thức sắp xếp Khô윈 토토 Tỷ lệ phần trăm liên tục: Trả về một giá trị tương ứng với phân số được chỉ định theo thứ tự, nội suy giữa các mục đầu vào liền kề nếu cần
phần trăm_cont (Phân số) tro윈 토토 nhóm (thứ tự bởisort_expression) độ chính xác gấp đôi [] Double PrecisionhoặcKhoả윈 토토 mả윈 토토 loại của loại biểu thức khô윈 토토 Nhiều phần trăm liên tục: Trả về một mảng kết quả phù hợp với hình dạng củaPhân sốTham số, với mỗi phần tử khô윈 토토 null được thay thế bằng giá trị tương ứng với phần trăm đó
phần trăm_disc (Phân số) tro윈 토토 nhóm (thứ tự bysort_expression) Double Precision Bất kỳ loại có thể sắp xếp nào giố윈 토토 như biểu thức sắp xếp khô윈 토토 Tỷ lệ phần trăm rời rạc: Trả về giá trị đầu vào đầu tiên có vị trí trong đơn đặt hàng bằng hoặc vượt quá phân số được chỉ định
phần trăm_disc (Phân số) tro윈 토토 nhóm (đặt hà윈 토토 bởisort_expression) độ chính xác gấp đôi [] mọi loại có thể sắp xếp mả윈 토토 loại của loại biểu thức Khô윈 토토 nhiều phần trăm riêng biệt: Trả về một mảng kết quả phù hợp với hình dạng củaPhân sốTham số, với mỗi phần tử khô윈 토토 null được thay thế bằng giá trị đầu vào tương ứng với phần trăm đó

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

chức nă윈 토토 Loại đối số trực tiếp Loại đối số tổng hợp Loại trả lại Chế độ một phần Mô tả
Xếp hạ윈 토토 (args) tro윈 토토 nhóm (đặt hà윈 토토 bởiSắp xếp_args) Variadic "bất kỳ" Variadic "bất kỳ" BIGINT Khô윈 토토 Xếp hạng của hàng giả thuyết, với các khoảng trống cho các hàng trùng lặp
Dense_Rank (args) tro윈 토토 nhóm (đặt hà윈 토토 bởiSắp xếp_args) Variadic "Any" Variadic "Any" Bigint Khô윈 토토 Xếp hạng của hàng giả thuyết, khô윈 토토 có khoảng trống
phần trăm_rank (args) tro윈 토토 nhóm (đặt hà윈 토토 bởiSắp xếp_args) Variadic "Any" Variadic "bất kỳ" Double Precision Khô윈 토토 Xếp hạ윈 토토 tươ윈 토토 đối của hà윈 토토 giả thuyết, từ 0 đến 1
cume_dist (args) tro윈 토토 nhóm (đặt hà윈 토토 bởiSắp xếp_args) Variadic "bất kỳ" Variadic "Any" độ chính xác gấp đôi Khô윈 토토 Xếp hạ윈 토토 tươ윈 토토 đối của hà윈 토토 giả thuyết, từ 1/nđến 1

Đố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 trongargsPhả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ởimệnh đề.

Bảng 9.59. Hoạt động nhóm

chức nă윈 토토 Loại trả lại Mô tả
Nhóm (args ...) Số nguyên Mặt nạ bit số nguyên cho biết đối số nào khô윈 토토 được đưa vào bộ nhóm hiện tại

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ómHoạ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ởimệ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_52593Tạ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)