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

Truy vấn MySQL để nhóm các hàng theo các ký tự số trong một trường chuỗi?

Với điều này, bạn có thể nối 0 với trường chuỗi với sự trợ giúp của toán tử +. Tình huống ở đây giống như chúng ta cần tìm nạp số “ 9844 ”Từ trường chuỗi“ 9844Bob ”.

Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable
(
   StudentId varchar(100)
);
Query OK, 0 rows affected (0.92 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable values('9844Bob');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('6375DavidMiller');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('007');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values('97474BobBrown');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('9844Bob56Taylor');
Query OK, 1 row affected (0.16 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 kết quả sau -

+-----------------+
| StudentId       |
+-----------------+
| 9844Bob         |
| 6375DavidMiller |
| 007             |
| 97474BobBrown   |
| 9844Bob56Taylor |
+-----------------+
5 rows in set (0.00 sec)

Sau đây là truy vấn để nhóm các hàng theo các ký tự số trong trường chuỗi -

mysql> select StudentId,0+StudentId as GroupValue from DemoTable;

Điều này sẽ tạo ra kết quả sau -

+-----------------+------------+
| StudentId       | GroupValue |
+-----------------+------------+
| 9844Bob         |       9844 |
| 6375DavidMiller |       6375 |
| 007             |          7 |
| 97474BobBrown   |      97474 |
| 9844Bob56Taylor |       9844 |
+-----------------+------------+
5 rows in set, 4 warnings (0.00 sec)