Sử dụng biểu thức trừ trực tiếp trong mệnh đề ORDER BY để sắp xếp theo hiệu của hai cột số.
Ví dụ minh họa
Tạo bảng:
mysql> CREATE TABLE DemoTable1313 (
Name VARCHAR(20),
Score1 INT,
Score2 INT
);
Chèn dữ liệu:
mysql> INSERT INTO DemoTable1313 VALUES('Chris', 40, 60);
mysql> INSERT INTO DemoTable1313 VALUES('David', 70, 50);
mysql> INSERT INTO DemoTable1313 VALUES('Adam', 35, 30);
Xem dữ liệu:
mysql> SELECT * FROM DemoTable1313;
+-------+--------+--------+ | Name | Score1 | Score2 | +-------+--------+--------+ | Chris | 40 | 60 | | David | 70 | 50 | | Adam | 35 | 30 | +-------+--------+--------+
Sắp xếp theo hiệu Score1 - Score2 (tăng dần):
mysql> SELECT * FROM DemoTable1313 ORDER BY (Score1 - Score2);
Kết quả (hiệu: -20, 5, 20):
+-------+--------+--------+ | Name | Score1 | Score2 | +-------+--------+--------+ | Chris | 40 | 60 | | Adam | 35 | 30 | | David | 70 | 50 | +-------+--------+--------+
Mở rộng: Dùng ORDER BY ABS(Score1 - Score2) để sắp xếp theo giá trị tuyệt đối của hiệu. Thêm DESC cho giảm dần.