Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để ĐẶT HÀNG BẰNG chuỗi ký tự 2 cuối cùng trong MySQL?

Bạn có thể sử dụng ORDER BY RIGHT () để ĐẶT HÀNG THEO chuỗi 2 ký tự cuối cùng.

Cú pháp như sau

select yourColumnName from yourTableName ORDER BY RIGHT(yourColumnName , 2);

Để 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> create table OrderByLast2CharactersDemo
   -> (
   -> CustomerId varchar(20),
   -> CustomerName varchar(20)
   -> );
Query OK, 0 rows affected (0.58 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('John-98','John');
Query OK, 1 row affected (0.20 sec)
mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('Carol-91','Carol');
Query OK, 1 row affected (0.21 sec)
mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('Bob-99','Bob');
Query OK, 1 row affected (0.22 sec)
mysql> insert into OrderByLast2CharactersDemo(CustomerId,CustomerName) values('David-67','David');
Query OK, 1 row affected (0.15 sec)

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 *from OrderByLast2CharactersDemo;

Sau đây là kết quả

+------------+--------------+
| CustomerId | CustomerName |
+------------+--------------+
| John-98    | John         |
| Carol-91   | Carol        |
| Bob-99     | Bob          |
| David-67   | David        |
+------------+--------------+
4 rows in set (0.00 sec)

Đây là truy vấn sắp xếp theo chuỗi 2 ký tự cuối cùng.

Trường hợp 1 :Kết quả theo thứ tự tăng dần.

Truy vấn như sau -

mysql> select CustomerId from OrderByLast2CharactersDemo ORDER BY RIGHT(CustomerId , 2);

Sau đây là kết quả

+------------+
| CustomerId |
+------------+
| David-67   |
| Carol-91   |
| John-98    |
| Bob-99     |
+------------+
4 rows in set (0.01 sec)

Trường hợp 2 Kết quả theo thứ tự giảm dần.

Truy vấn như sau -

mysql> select CustomerId from OrderByLast2CharactersDemo ORDER BY RIGHT(CustomerId , 2) DESC;

Sau đây là kết quả

+------------+
| CustomerId |
+------------+
| Bob-99     |
| John-98    |
| Carol-91   |
| David-67   |
+------------+
4 rows in set (0.00 sec)