Giống như hầu hết kèo bóng đá c1 sản phẩm cơ sở dữ liệu quan hệ khác,PostgreSQLHỗ trợ các hàm tổng kèo bóng đá c1. MỘT Hàm tổng kèo bóng đá c1 tính toán một kết quả duy nhất từ nhiều đầu vào hàng. Ví dụ: có các tập kèo bóng đá c1 để 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 bóng đá c1 phiên bản.
Điều quan trọng là phải hiểu sự tương tác giữa các tập kèo bóng đá c1 và SQL'sWHEREvàcómệnh đề. Sự khác biệt cơ bản giữaWHEREvàcóIS cái này:WHEREChọn các hàng đầu vào trước các nhóm và các tập kèo bóng đá c1 đượ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 bóng đá c1), trong khicóChọn các hàng nhóm sau các nhóm và tổng kèo bóng đá c1 được tính toán. Như vậy, TheWHEREmệnh đề có thể không chứa tổng kèo bóng đá c1 chức năng; Không có ý nghĩa gì khi cố gắng sử dụng một tổng kèo bóng đá c1 để Xác định các hàng nào sẽ là đầu vào cho các tập kèo bóng đá c1. Mặt khác tay,cómệnh đề luôn chứa Tổng kèo bóng đá c1 các chức năng. (Nói đúng ra, bạn được phép viết mộtcómệnh đề không sử kèo bóng đá c1 cốt liệu, Nhưng nó lãng phí; Điều kiện tương tự có thể được sử kèo bóng đá c1 nhiều hơn hiệu quả tạiWHEREgiai đoạn.)
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;Nếu chúng ta muốn biết thành phố nào (hoặc thành phố) đọc xảy ra trong, chúng ta có thể thử
Chọn thành phố từ thời tiết nơi temp_lo = max (temp_lo);Nhưng điều này sẽ không hoạt động vì tổng kèo bóng đá c1MaxKhông thể sử kèo bóng đá c1 trongWHERE. Tuy nhiên, như thường lệ, truy vấn có thể được khôi phục hoàn thành kết quả dự định; Ở đây bằng cách sử kèo bóng đá c1SubSelect:
Chọn thành phố từ thời tiết Trong đó temp_lo = (chọn tối đa (temp_lo) từ thời tiết);Điều này là OK bởi vì Sub-Delect là một độc lập tính toán tính toán tổng kèo bóng đá c1 của chính nó riêng biệt với những gì xảy ra ở bên ngoài chọn.
Tập kèo bóng đá c1 cũng rất hữu ích khi kết kèo bóng đá c1 vớiNhóm bởimệnh đề. Ví dụ: chúng ta có thể nhận được tối đa Nhiệt độ thấp quan sát được ở mỗi thành phố với
Chọn Thành phố, Max (Temp_LO) Từ thời tiết Theo nhóm theo thành phố;cung cấp cho chúng ta một hàng đầu ra cho mỗi thành phố. Chúng ta có thể lọc những thứ này Hàng được nhóm bằng cách sử kèo bóng đá c1có:
Chọn Thành phố, Max (Temp_Lo) Từ thời tiết Nhóm từng thành phố Có tối thiểu (temp_lo) <0;cung cấp cho chúng ta kết quả tương tự chỉ cho kèo bóng đá c1 thành phố có Một số bài đọc dưới đây. Cuối cùng, nếu chúng ta chỉ quan tâm đến kèo bóng đá c1 thành phố tên bắt đầu bằng "P", chúng ta có thể làm
Chọn Thành phố, Max (Temp_Lo) Từ thời tiết Nơi thành phố thích 'p%' Nhóm từng thành phố Có tối thiểu (temp_lo) <0;Lưu ý rằng chúng ta có thể áp kèo bóng đá c1 hạn chế tên thành phố trongWHERE, vì nó không cần tổng kèo bóng đá c1. Đây là nhiều hơn hiệu quả hơn là thêm hạn chế vàocó, bởi vì chúng tôi tránh làm nhóm và Tính toán tổng kèo bóng đá c1 cho tất cả các hàng không thành côngWHEREKiểm tra.