Đối với điều này, bạn có thể sử dụng SUBSTRING_INDEX () cùng với ORDER BY. Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable1502 -> ( -> StudentId varchar(40) -> ); Query OK, 0 rows affected (0.54 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable1502 values('John_120'); Query OK, 1 row affected (0.18 sec) mysql> insert into DemoTable1502 values('John_201'); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable1502 values('Mike_178'); Query OK, 1 row affected (0.09 sec) mysql> insert into DemoTable1502 values('Bob_198'); Query OK, 1 row affected (0.36 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 DemoTable1502;
Điều này sẽ tạo ra kết quả sau -
+-----------+ | StudentId | +-----------+ | John_120 | | John_201 | | Mike_178 | | Bob_198 | +-----------+ 4 rows in set (0.00 sec)
Sau đây là truy vấn để sắp xếp giá trị một phần trên cột -
mysql> select substring_index(StudentId,'_',1) as LeftPart, -> substring_index(StudentId,'_',-1) as RightPart -> from DemoTable1502 -> order by RightPart;
Điều này sẽ tạo ra kết quả sau -
+----------+-----------+ | LeftPart | RightPart | +----------+-----------+ | John | 120 | | Mike | 178 | | Bob | 198 | | John | 201 | +----------+-----------+ 4 rows in set (0.00 sec)