Postgresql 9.0.23 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 2. TheSQLNgôn ngữ | NEXT |
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 đá 88max
Khô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ụngcó:
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;
Đ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'sWHEREvàcómệnh đề. Sự khác biệt cơ bản giữaWHEREvàcóCó 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 khicóChọ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,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ộtcómệ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àocó, 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.