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