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

Truy vấn MySQL sắp xếp bản ghi theo hiệu số

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.