Bạn cần sử dụng biểu thức chính quy với mệnh đề ORDER BY. Cú pháp như sau:
CHỌN * TỪ yourTableNameORDER BẰNG IF (yourColumnName RLIKE '^ [a-z]', 1, 2), yourColumnName;
Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau:
mysql> tạo bảng AlphabetFirstThenNumberDemo -> (-> Id int NOT NULL AUTO_INCREMENT, -> Name varchar (20), -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,95 giây)Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau:
mysql> chèn vào các giá trị AlphabetFirstThenNumberDemo (Tên) ('John'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,37 giây) mysql> chèn vào các giá trị AlphabetFirstThenNumberDemo (Tên) ('Bob'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,21 giây) mysql> chèn vào các giá trị AlphabetFirstThenNumberDemo (Tên) ('1Sam'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào các giá trị AlphabetFirstThenNumberDemo (Tên) ('Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,22 giây) mysql> chèn vào các giá trị AlphabetFirstThenNumberDemo (Tên) ('2Larry'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,31 giây) mysql> chèn vào các giá trị AlphabetFirstThenNumberDemo (Tên) ('David'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,27 giây) mysql> chèn vào các giá trị AlphabetFirstThenNumberDemo (Tên) ('3Mike'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,14 giây) mysql> chèn vào các giá trị AlphabetFirstThenNumberDemo (Tên) ('Robert'); Truy vấn OK, 1 hàng bị ảnh hưởng ( 0,10 giây)Bây giờ bạn có thể hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau:
mysql> select * từ AlphabetFirstThenNumberDemo;Sau đây là kết quả:
+ ---- + -------- + | Id | Tên | + ---- + -------- + | 1 | John || 2 | Bob || 3 | 1Sam || 4 | Carol || 5 | 2Larry || 6 | David || 7 | 3Mike || 8 | Robert | + ---- + -------- + 8 hàng được thiết lập (0,00 giây)Đây là thứ tự truy vấn theo bảng chữ cái đầu tiên sau đó là một số. Truy vấn như sau:
mysql> select * from AlphabetFirstThenNumberDemo -> ORDER BY IF (Name RLIKE '^ [a-z]', 1, 2), Name;Sau đây là kết quả:
+ ---- + -------- + | Id | Tên | + ---- + -------- + | 2 | Bob || 4 | Carol || 6 | David || 1 | John || 8 | Robert || 3 | 1Sam || 5 | 2Larry || 7 | 3Mike | + ---- + -------- + 8 hàng trong bộ (0,00 giây)