Để trả về thứ tự của MySQL SHOW COLUMNS, bạn cần sử dụng mệnh đề ORDER BY. Cú pháp như sau -
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = ‘yourTableName’ AND column_name LIKE 'yourStartColumnName%' ORDER BY column_name DESC;
Hãy để chúng tôi tạo một bảng trong TEST cơ sở dữ liệu. Truy vấn để tạo bảng như sau -
mysql> create table OrderByColumnName -> ( -> StudentId int, -> StudentFirstName varchar(10), -> StudentLastName varchar(10), -> StudentAddress varchar(20), -> StudentAge int, -> StudentMarks int -> ); Query OK, 0 rows affected (1.81 sec)
Trường hợp 1 -
Trong điều này, kết quả theo thứ tự giảm dần. Đây là truy vấn để trả về thứ tự của cột hiển thị trong MySQL -
mysql> SELECT COLUMN_NAME -> FROM INFORMATION_SCHEMA.COLUMNS -> WHERE table_name = 'OrderByColumnName' -> AND column_name LIKE 'student%' -> ORDER BY column_name DESC;
Sau đây là kết quả -
+------------------+ | COLUMN_NAME | +------------------+ | StudentMarks | | StudentLastName | | StudentId | | StudentFirstName | | StudentAge | | StudentAddress | +------------------+ 6 rows in set (0.00 sec)
Trường hợp 2 - Nếu bạn muốn kết quả theo thứ tự tăng dần, không cần phải viết từ khóa ASC vì theo mặc định, kết quả sẽ theo thứ tự tăng dần.
Truy vấn như sau -
mysql> SELECT COLUMN_NAME -> FROM INFORMATION_SCHEMA.COLUMNS -> WHERE table_name = 'OrderByColumnName' -> AND column_name LIKE 'student%' -> ORDER BY column_name;
Sau đây là kết quả -
+------------------+ | COLUMN_NAME | +------------------+ | StudentAddress | | StudentAge | | StudentFirstName | | StudentId | | StudentLastName | | StudentMarks | +------------------+ 6 rows in set (0.00 sec)