Trong MariaDB, MIN()
là một hàm tổng hợp trả về giá trị nhỏ nhất trong một biểu thức nhất định.
Cú pháp
Cú pháp như sau:
MIN([DISTINCT] expr)
Dữ liệu mẫu
Giả sử chúng ta có một bảng với dữ liệu sau:
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
Kết quả:
+----------+---------------------------------+--------------+ | 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 | 33.49 | | 1003 | Chainsaw | 245.00 | | 1003 | Straw Dog Box | 55.99 | | 1004 | Bottomless Coffee Mugs (4 Pack) | 9.99 | +----------+---------------------------------+--------------+
Ví dụ
Chúng tôi có thể sử dụng truy vấn sau để nhận giá tối thiểu từ bảng đó.
SELECT MIN(ProductPrice)
FROM Products;
Kết quả:
9.99
Trong trường hợp này, thông tin giá được lưu trữ trong ProductPrice
và do đó chúng tôi chuyển nó làm đối số cho MIN()
hàm, sau đó sẽ tính toán và trả về kết quả.
Kết quả đã lọc
MIN()
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ả, đầu ra của MIN()
sẽ phản ánh điều đó.
SELECT MIN(ProductPrice)
FROM Products
WHERE VendorId = 1001;
Kết quả:
11.99
Trong trường hợp này, 11,99 là giá tối thiểu của tất cả các sản phẩm được cung cấp bởi nhà cung cấp được chỉ định.
Dữ liệu ngày / giờ
Bạn có thể sử dụng MIN()
về giá trị ngày / giờ.
Giả sử chúng ta có bảng sau:
SELECT PetName, DOB
FROM Pets;
Kết quả:
+---------+------------+ | PetName | DOB | +---------+------------+ | Fluffy | 2020-11-20 | | Fetch | 2019-08-16 | | Scratch | 2018-10-01 | | Wag | 2020-03-15 | | Tweet | 2020-11-28 | | Fluffy | 2020-09-17 | | Bark | NULL | | Meow | NULL | +---------+------------+
Chúng ta có thể sử dụng MIN()
để tìm ngày sinh tối thiểu (DOB
).
SELECT MIN(DOB)
FROM Pets;
Kết quả:
2018-10-01
Đây sẽ là ngày sinh của con vật cưng lớn tuổi nhất.
NULL
Giá trị
MIN()
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, hai hàng cuối cùng chứa NULL
các giá trị trong DOB
của chúng nhưng chúng đã bị bỏ qua trong MIN()
của chúng tôi ví dụ.
Dữ liệu ký tự
Khi được sử dụng với các cột dữ liệu ký tự, MIN()
tìm giá trị thấp nhất trong chuỗi đối chiếu.
Ví dụ:
SELECT MIN(ProductName)
FROM Products;
Kết quả:
Bottomless Coffee Mugs (4 Pack)
DISTINCT
Từ khóa
DISTINCT
từ khóa có thể được sử dụng với MIN()
tuy nhiên, hàm này tạo ra kết quả giống như việc bỏ qua DISTINCT
. Cho phép DISTINCT
cho phép MariaDB tuân thủ tiêu chuẩn ISO SQL.
Do đó, chúng ta có thể làm điều này:
SELECT MIN(DISTINCT ProductPrice)
FROM Products;
Kết quả:
9.99
Nhưng nó không ảnh hưởng đến kết quả.
DISTINCT
từ khóa có thể rất hữu ích khi được sử dụng với các ngữ cảnh khác (ví dụ:với COUNT()
hàm), nhưng nó không có nghĩa khi được sử dụng với MIN()
. DISTINCT
từ khóa loại bỏ các bản sao, nhưng trong trường hợp MIN()
nó sẽ không tạo ra bất kỳ sự khác biệt nào vì MIN()
trả về cùng một kết quả bất kể có bao nhiêu hàng có cùng giá trị nhỏ nhất.
Chức năng của cửa sổ
MIN()
có thể được sử dụng cùng với OVER
mệnh đề để tạo một hàm cửa sổ.
Xem SQL MIN()
Ví dụ cho người mới bắt đầu.