PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Hàm MAX () trong PostgreSQL

Trong PostgreSQL, MAX() hàm tính toán giá trị đầu vào không phải null tối đa và trả về kết quả.

Hàm này có thể được sử dụng trên bất kỳ kiểu số, chuỗi, ngày / giờ hoặc enum nào, cũng như inet , interval , money , oid , pg_lsn , tid và các mảng thuộc bất kỳ loại nào trong số này.

Ví dụ

Dưới đây là một ví dụ nhanh để chứng minh cách nó hoạt động:

SELECT MAX(productprice) 
FROM products;

Kết quả:

245.00

Trong trường hợp này, productprice là một cột trong products bàn.

Để cung cấp thêm một chút ngữ cảnh này, đây là ảnh chụp nhanh của bảng:

+----------+---------------------------------+--------------+
| vendorid |           productname           | productprice |
+----------+---------------------------------+--------------+
|     1001 | Left handed screwdriver         |        25.99 |
|     1001 | Right handed screwdriver        |        25.99 |
|     1001 | Long Weight (blue)              |        14.75 |
|     1001 | Long Weight (green)             |        11.99 |
|     1002 | Sledge Hammer                   |         NULL |
|     1003 | Chainsaw                        |       245.00 |
|     1003 | Straw Dog Box                   |        55.99 |
|     1004 | Bottomless Coffee Mugs (4 Pack) |         9.99 |
+----------+---------------------------------+--------------+

Chúng ta có thể thấy productprice cột mà chúng tôi nhận được giá trị lớn nhất trong ví dụ của chúng tôi.

Bảng thực tế của tôi chứa nhiều cột hơn, nhưng điều này cho bạn thấy cột và ngữ cảnh của nó trong bảng.

NULL Giá trị

MAX() hàm bỏ qua bất kỳ NULL nào các giá trị. Trong bảng mẫu của chúng tôi ở trên, búa tạ có NULL trong productprice của nó nhưng cột đó đã bị bỏ qua trong MAX() của chúng tôi ví dụ.

Kết quả được lọc

MAX() hàm hoạt động trên các hàng được trả về bởi truy vấn. Vì vậy, nếu bạn lọc kết quả, kết quả là MAX() sẽ phản ánh điều đó.

Cho phép lọc kết quả:

SELECT MAX(productprice) 
FROM products
WHERE vendorid = 1001;

Kết quả:

25.99

Giá trị ngày giờ

MAX() hàm có thể được sử dụng trên các giá trị datetime:

Giả sử chúng ta có một bảng có tên là pets với dữ liệu sau:

+-------+---------+------------+
| petid | petname |    dob     |
+-------+---------+------------+
|     1 | Fluffy  | 2020-11-20 |
|     2 | Fetch   | 2019-08-16 |
|     3 | Scratch | 2018-10-01 |
|     4 | Wag     | 2020-03-15 |
|     5 | Tweet   | 2020-11-28 |
|     6 | Fluffy  | 2020-09-17 |
|     7 | Bark    | NULL       |
|     8 | Meow    | NULL       |
+-------+---------+------------+

Chúng tôi có thể nhận được giá trị lớn nhất từ ​​dob , như thế này:

SELECT MAX(dob) 
FROM pets;

Kết quả:

2020-11-28

Dữ liệu ký tự

Khi được sử dụng với các cột dữ liệu ký tự, MAX() tìm giá trị cao nhất trong chuỗi đối chiếu.

Ví dụ:

SELECT MAX(petname) 
FROM pets;

Kết quả:

Wag

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để bạn viết một truy vấn không phân biệt chữ hoa chữ thường cho cả MySQL và Postgres?

  2. Làm thế nào để giữ cho dữ liệu không sắp xếp?

  3. Không tìm thấy trình điều khiển phù hợp khi bao gồm các trình điều khiển cần thiết với maven-assembly-plugin

  4. Làm cách nào để so sánh hàng hiện tại với hàng tiếp theo và hàng trước đó trong PostgreSQL?

  5. Các tiện ích mở rộng PostgreSQL yêu thích của tôi - Phần thứ hai