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 tỷ lệ kèo bóng đá 88

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 tỷ lệ kèo bóng đá 88. Một hàm tổng tỷ lệ kèo bóng đá 88 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 tỷ lệ kèo bóng đá 88 để 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 tỷ lệ kèo bóng đá 88 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 việc đọc tỷ lệ kèo bóng đá 88 phố nào (hoặc tỷ lệ kèo bóng đá 88 phố) xảy ra trong, chúng ta có thể thử:

Chọn tỷ lệ kèo bóng đá 88 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 tỷ lệ kèo bóng đá 88maxKhô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 tỷ lệ kèo bóng đá 88; Vì vậy, rõ ràng nó phải được đánh giá trước khi các hàm tổng tỷ lệ kèo bóng đá 88 đượ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ụngSBURERY:

Chọn tỷ lệ kèo bóng đá 88 phố từ thời tiết
    Trong đó temp_lo = (chọn tối đa (temp_lo) từ thời tiết);
tỷ lệ kèo bóng đá 88 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 tỷ lệ kèo bóng đá 88 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 tỷ lệ kèo bóng đá 88 cũng rất hữu ích khi kết tỷ lệ kèo bóng đá 88 vớiNhóm bởimệnh đề. Ví dụ, chúng ta có thể nhận được Nhiệt độ thấp tối đa quan sát được ở mỗi tỷ lệ kèo bóng đá 88 phố với:

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

cung cấp cho chúng tôi một hàng đầu ra cho mỗi thành phố. Mỗi kết quả tổng tỷ lệ kèo bóng đá 88 được tính toán trên các hàng bảng phù tỷ lệ kèo bóng đá 88 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 tỷ lệ kèo bóng đá 88 phố, Max (Temp_LO)
    Từ thời tiết
    Nhóm từng tỷ lệ kèo bóng đá 88 phố
    Có tối đa (temp_lo) <40;
tỷ lệ kèo bóng đá 88 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 tỷ lệ kèo bóng đá 88 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 tỷ lệ kèo bóng đá 88 phố có tên bắt đầu bằng"S", chúng ta có thể LÀM:

Chọn tỷ lệ kèo bóng đá 88 phố, Max (Temp_Lo)
    Từ thời tiết
    Nơi tỷ lệ kèo bóng đá 88 phố thích 's%'(1)Nhóm theo tỷ lệ kèo bóng đá 88 phố
    Có tối đa (temp_lo) <40;
(1)
Thenhưtoán tử không mẫu kết tỷ lệ kèo bóng đá 88 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 tỷ lệ kèo bóng đá 88 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 tỷ lệ kèo bóng đá 88 được tính toán (Do đó, nó kiểm soát các hàng đi vào tính toán tổng tỷ lệ kèo bóng đá 88), trong khiChọn các hàng nhóm sau khi Các nhóm và tập tỷ lệ kèo bóng đá 88 được tính toán. Do đó,WHEREmệnh đề không được chứa các hàm tổng tỷ lệ kèo bóng đá 88; Không có ý nghĩa gì khi cố gắng sử dụng một tổng tỷ lệ kèo bóng đá 88 để xác định cái nào Hàng sẽ là đầu vào cho các tập tỷ lệ kèo bóng đá 88. Mặt khác,mệnh đề luôn chứa tổng tỷ lệ kèo bóng đá 88 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 tỷ lệ kèo bóng đá 88, 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.)

15267_15338WHERE, vì nó không cần Tổng tỷ lệ kèo bóng đá 88. Đ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 tỷ lệ kèo bóng đá 88 cho tất cả các hàng không thành côngWHEREKiểm tra.