Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Hai cách lấy giá trị lớn nhất từ cột số trong MySQL


Giới thiệu

Có hai cách phổ biến để lấy giá trị lớn nhất (maximum) từ một cột kiểu số trong MySQL: sử dụng hàm MAX() hoặc sắp xếp giảm dần kết hợp LIMIT 1.

Cú pháp

-- Cách 1: Sử dụng hàm MAX()
SELECT MAX(yourColumnName) FROM yourTableName;

-- Cách 2: Sắp xếp DESC và lấy 1 bản ghi đầu
SELECT * FROM yourTableName ORDER BY yourColumnName DESC LIMIT 1;

Ví dụ minh họa

Tạo bảng và chèn dữ liệu

mysql> CREATE TABLE DemoTable (
    Value INT
);
mysql> INSERT INTO DemoTable VALUES(45), (87), (56), (77), (85);

Xem dữ liệu

mysql> SELECT * FROM DemoTable;
+-------+
| Value |
+-------+
| 45    |
| 87    |
| 56    |
| 77    |
| 85    |
+-------+

Cách 1: Dùng MAX()

mysql> SELECT MAX(Value) FROM DemoTable;
+------------+
| MAX(Value) |
+------------+
| 87         |
+------------+

Cách 2: Dùng ORDER BY ... LIMIT 1

mysql> SELECT * FROM DemoTable ORDER BY Value DESC LIMIT 1;
+-------+
| Value |
+-------+
| 87    |
+-------+

So sánh hai cách

Tiêu chíMAX()ORDER BY ... LIMIT 1
Hiệu năngTối ưu cho chỉ số (index)Cũng tốt nếu có index
Linh hoạtChỉ trả về giá trị maxTrả về toàn bộ dòng dữ liệu
Độ phức tạpĐơn giảnHơi dài hơn

Khuyến nghị: Nếu chỉ cần giá trị lớn nhất, dùng MAX(). Nếu cần cả các cột khác của dòng đó, dùng ORDER BY ... LIMIT 1.