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 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2
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 một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

2.7. Hàm tổng kèo tỷ số bóng đá euro hôm nay

Giống như hầu hết Các sản phẩm cơ sở dữ liệu quan hệ khác,PostgreSQLHỗ trợHàm tổng kèo tỷ số bóng đá euro hôm nay. Một hàm tổng kèo tỷ số bóng đá euro hôm nay tính toán một kết quả duy nhất từ ​​nhiều hàng đầu vào. Ví dụ, Có các tập kèo tỷ số bóng đá euro hôm nay để tính toánĐếm, Sum, AVG(trung bình),max(tối đa) vàmin(tối thiểu) trên một tập kèo tỷ số bóng đá euro hôm nay các hàng.

Ví dụ, chúng ta có thể tìm thấy cách đọc nhiệt độ thấp cao nhất bất cứ nơi nào với:

Chọn tối đa (temp_lo) từ thời tiết;
Max
-----
  46
(1 hàng)

Nếu chúng ta muốn biết những gì kèo tỷ số bóng đá euro hôm nay phố (hoặc kèo tỷ số bóng đá euro hôm nay phố) mà đọc xảy ra, chúng ta có thể thử:

Chọn kèo tỷ số bóng đá euro hôm nay phố từ thời tiết nơi temp_lo = max (temp_lo);sai

Nhưng điều này sẽ không hoạt động vì tổng kèo tỷ số bóng đá euro hôm nayMaxKhông thể được sử dụng trongWHEREmệnh đề. (Hạn chế này tồn tại vìWHEREmệnh đề xác định hàng nào sẽ được bao gồm trong tính toán tổng kèo tỷ số bóng đá euro hôm nay; Vì vậy, rõ ràng nó phải được đánh giá trước khi các hàm tổng kèo tỷ số bóng đá euro hôm nay được tính toán.) Tuy nhiên, Như thường lệ, truy vấn có thể được khôi phục để hoàn thành Kết quả mong muốn, ở đây bằng cách sử dụngSubquery:

Chọn kèo tỷ số bóng đá euro hôm nay phố từ thời tiết
    Trong đó temp_lo = (chọn tối đa (temp_lo) từ thời tiết);
kèo tỷ số bóng đá euro hôm nay phố
---------------
 San Francisco
(1 hàng)

Điều này là OK vì trình điều khiển con là một tính toán độc lập điều đó tính toán tổng kèo tỷ số bóng đá euro hôm nay của chính nó một cách riêng biệt với những gì đang xảy ra Trong truy vấn bên ngoài.

Tổng kèo tỷ số bóng đá euro hôm nay cũng rất hữu ích khi kết kèo tỷ số bóng đá euro hôm nay vớiNhóm bởimệnh đề. Ví dụ, chúng ta có thể Nhận nhiệt độ thấp tối đa quan sát được ở mỗi kèo tỷ số bóng đá euro hôm nay phố với:

Chọn kèo tỷ số bóng đá euro hôm nay phố, Max (Temp_Lo)
    Từ thời tiết
    Theo nhóm theo kèo tỷ số bóng đá euro hôm nay phố;
kèo tỷ số bóng đá euro hôm nay phố | Tối đa
---------------+-----
 Hayward |  37
 San Francisco |  46
(2 hàng)

cung cấp cho chúng ta một hàng đầu ra cho mỗi thành phố. Mỗi kết quả tổng kèo tỷ số bóng đá euro hôm nay được tính toán trên các hàng bảng phù kèo tỷ số bóng đá euro hôm nay với thành phố đó. Chúng ta có thể lọc Các hàng được nhóm này bằng cách sử dụng:

Chọn kèo tỷ số bóng đá euro hôm nay phố, Max (Temp_Lo)
    Từ thời tiết
    Nhóm từng kèo tỷ số bóng đá euro hôm nay phố
    Có tối đa (temp_lo) <40;
kèo tỷ số bóng đá euro hôm nay phố | Tối đa
---------+-----
 Hayward |  37
(1 hàng)

cung cấp cho chúng ta kết quả tương tự chỉ cho các kèo tỷ số bóng đá euro hôm nay phố có tất cảTEMP_LOGiá trị dưới 40. Cuối cùng, nếu chúng ta chỉ quan tâm đến các kèo tỷ số bóng đá euro hôm nay phố có tên bắt đầu bằng"S", Chúng tôi có thể LÀM:

Chọn kèo tỷ số bóng đá euro hôm nay phố, Max (Temp_Lo)
    Từ thời tiết
    Nơi kèo tỷ số bóng đá euro hôm nay phố thích 's%'(1)Nhóm theo kèo tỷ số bóng đá euro hôm nay phố
    Có tối đa (temp_lo) <40;
(1)
Thenhưtoán tử không mẫu kết kèo tỷ số bóng đá euro hôm nay và được giải thích trongPhần 9.7.

Điều quan trọng là phải hiểu sự tương tác giữa tổng kèo tỷ số bóng đá euro hôm nay vàSQL'sWHEREmệnh đề. Sự khác biệt cơ bản giữaWHERECó phải thế này:WHEREChọn các hàng đầu vào trước khi các nhóm và tổng kèo tỷ số bóng đá euro hôm nay được tính toán (Do đó, nó kiểm soát các hàng đi vào tính toán tổng kèo tỷ số bóng đá euro hôm nay), trong khiChọn các hàng nhóm sau Các nhóm và tập kèo tỷ số bóng đá euro hôm nay được tính toán. Do đó,WHEREmệnh đề không được chứa các hàm tổng kèo tỷ số bóng đá euro hôm nay; Không có ý nghĩa gì khi cố gắng sử dụng một tổng kèo tỷ số bóng đá euro hôm nay để xác định cái nào Hàng sẽ là đầu vào cho các tập kèo tỷ số bóng đá euro hôm nay. Mặt khác,mệnh đề luôn chứa tổng kèo tỷ số bóng đá euro hôm nay chức năng. (Nói đúng ra, bạn được phép viết mộtmệnh đề không sử dụng Tổng kèo tỷ số bóng đá euro hôm nay, nhưng hiếm khi hữu ích. Điều kiện tương tự có thể là được sử dụng hiệu quả hơn tạiWHEREGiai đoạn.)

Trong ví dụ trước, chúng ta có thể áp dụng tên kèo tỷ số bóng đá euro hôm nay phố Hạn chế trongWHERE, vì nó không cần Tổng kèo tỷ số bóng đá euro hôm nay. Điều này hiệu quả hơn so với việc thêm hạn chế vào, bởi vì chúng tôi tránh làm Tính toán nhóm và tổng kèo tỷ số bóng đá euro hôm nay cho tất cả các hàng không thành côngWHEREKiểm tra.