Để order by từ trong MySQL, bạn cần sử dụng ORDER BY FIELD(). Trước hết, hãy tạo một bảng:
mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(20), StudentFavouriteSubject varchar(100) ); Query OK, 0 rows affected (0.52 sec)
Chèn một số bản ghi vào bảng bằng lệnh insert:
mysql> insert into DemoTable(StudentFirstName,StudentFavouriteSubject) values('Larry','Java'); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(StudentFirstName,StudentFavouriteSubject) values('Sam','C'); Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable(StudentFirstName,StudentFavouriteSubject) values('Bob','MongoDB'); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(StudentFirstName,StudentFavouriteSubject) values('David','MySQL'); Query OK, 1 row affected (0.17 sec)
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select:
mysql> select * from DemoTable;
Điều này sẽ tạo ra đầu ra sau:
+-----------+------------------+-------------------------+ | StudentId | StudentFirstName | StudentFavouriteSubject | +-----------+------------------+-------------------------+ | 1 | Larry | Java | | 2 | Sam | C | | 3 | Bob | MongoDB | | 4 | David | MySQL | +-----------+------------------+-------------------------+ 4 rows in set (0.00 sec)
Truy vấn sau để ORDER BY từ trong MySQL:
mysql> select * from DemoTable ORDER BY FIELD(`StudentFavouriteSubject`, 'MongoDB','MySQL','Java','C');
Điều này sẽ tạo ra đầu ra sau:
+-----------+------------------+-------------------------+ | StudentId | StudentFirstName | StudentFavouriteSubject | +-----------+------------------+-------------------------+ | 3 | Bob | MongoDB | | 4 | David | MySQL | | 1 | Larry | Java | | 2 | Sam | C | +-----------+------------------+-------------------------+ 4 rows in set (0.03 sec)