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

Sắp xếp nhiều cột cùng lúc trong một truy vấn MySQL bằng GREATEST

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.