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

Sắp xếp kết quả MySQL không dùng tên cột (dùng vị trí)

MySQL cho phép dùng số thứ tự cột trong ORDER BY (1 = cột đầu, 2 = cột hai...).

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable1325 (Id INT, Name VARCHAR(20));

Chèn dữ liệu:

mysql> INSERT INTO DemoTable1325 VALUES(100, 'Chris'), (101, 'Bob'), (120, 'David'), (115, 'Sam'), (130, 'Carol'), (150, 'Mike');

Xem dữ liệu:

mysql> SELECT * FROM DemoTable1325;
+------+-------+
| Id   | Name  |
+------+-------+
| 100  | Chris |
| 101  | Bob   |
| 120  | David |
| 115  | Sam   |
| 130  | Carol |
| 150  | Mike  |
+------+-------+

Sắp xếp theo cột 1 (Id) giảm dần, lấy 4 hàng đầu:

mysql> SELECT * FROM DemoTable1325 ORDER BY 1 DESC LIMIT 4;

Kết quả:

+------+-------+
| Id   | Name  |
+------+-------+
| 150  | Mike  |
| 130  | Carol |
| 120  | David |
| 115  | Sam   |
+------+-------+

⚠️ Cảnh báo:

  • Chỉ dùng cho truy vấn ad-hoc, script nhanh.
  • KHÔNG dùng trong production code - dễ sai khi thay đổi thứ tự cột (SELECT a,b vs SELECT b,a).
  • Không hoạt động với GROUP BY, HAVING (chỉ ORDER BY).
  • Tiêu chuẩn SQL khuyến khích dùng tên cột hoặc alias.