Tạo bảng 3 cột số
mysql> CREATE TABLE DemoTable1395 (
-> Value1 INT, Value2 INT, Value3 INT
-> );
Query OK, 0 rows affected (0.79 sec)
mysql> INSERT INTO DemoTable1395 VALUES(40,50,60),(90,56,80),(10,20,30);
Dữ liệu
mysql> SELECT * FROM DemoTable1395;
+--------+--------+--------+
| Value1 | Value2 | Value3 |
+--------+--------+--------+
| 40 | 50 | 60 |
| 90 | 56 | 80 |
| 10 | 20 | 30 |
+--------+--------+--------+
Truy vấn: ORDER BY GREATEST(Value1, Value2, Value3)
mysql> SELECT * FROM DemoTable1395
-> ORDER BY GREATEST(Value1, Value2, Value3);
Kết quả: Hàng có giá trị lớn nhất nhỏ nhất lên đầu
+--------+--------+--------+
| Value1 | Value2 | Value3 |
+--------+--------+--------+
| 10 | 20 | 30 |
| 40 | 50 | 60 |
| 90 | 56 | 80 |
+--------+--------+--------+
Giải thích: GREATEST() trả về giá trị lớn nhất trong danh sách. Sắp xếp theo giá trị tối đa của mỗi hàng. Tương tự LEAST() cho giá trị nhỏ nhất.