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

Đếm số lần xuất hiện của một chuỗi trong trường VARCHAR trong MySQL?

Để đếm số lần xuất hiện của một chuỗi trong VARCHAR, chúng ta có thể sử dụng logic của phép trừ với độ dài. Đầu tiên, chúng ta sẽ tạo một bảng với sự trợ giúp của lệnh create.

mysql> create table StringOccurrenceDemo
   -> (
   -> Cases varchar(100),
   -> StringValue varchar(500)
   -> );
Query OK, 0 rows affected (0.56 sec) 

Sau khi thực hiện bảng trên, chúng ta sẽ chèn các bản ghi vào bảng. Truy vấn như sau -

mysql> insert into StringOccurrenceDemo values('First','This is MySQL Demo and MySQL is an open source RDBMS');
Query OK, 1 row affected (0.07 sec)

mysql> insert into StringOccurrenceDemo values('Second','There is no');
Query OK, 1 row affected (0.20 sec)

mysql> insert into StringOccurrenceDemo values('Third','There is MySQL,Hi MySQL,Hello MySQL');
Query OK, 1 row affected (0.17 sec)

Hiển thị tất cả các bản ghi với sự trợ giúp của câu lệnh select.

mysql> select *From StringOccurrenceDemo;

Sau đây là kết quả.

+--------+------------------------------------------------------+
| Cases  | StringValue                                          |
+--------+------------------------------------------------------+
| First  | This is MySQL Demo and MySQL is an open source RDBMS |
| Second | There is no                                          |
| Third  | There is MySQL,Hi MySQL,Hello MySQL                  |
+--------+------------------------------------------------------+
3 rows in set (0.00 sec)

Sau đây là truy vấn để đếm số lần xuất hiện của chuỗi “MySQL”. Kết quả sẽ được hiển thị trong cột ‘NumberOfOcchoodOfMySQL’

mysql> SELECT Cases,StringValue,
   -> ROUND (
   -> (
   -> LENGTH(StringValue)- LENGTH( REPLACE (StringValue, "MySQL", "") )
   -> ) / LENGTH("MySQL")
   ->  ) AS NumberOfOccurrenceOfMySQL
   -> from StringOccurrenceDemo;

Đây là kết quả đầu ra.

+--------+------------------------------------------------------+---------------------------+
| Cases  | StringValue                                          |  NumberOfOccurrenceOfMySQL|
+--------+------------------------------------------------------+---------------------------+
| First  | This is MySQL Demo and MySQL is an open source RDBMS |                         2 |
| Second | There is                                             |                         0 |
| Third  | There is MySQL,Hi MySQL,Hello MySQL                  |                         3 |
+--------+------------------------------------------------------+---------------------------+
3 rows in set (0.05 sec)

Kết quả ở trên cho thấy rằng chúng tôi đã tìm thấy số lần xuất hiện của chuỗi ‘MySQL’.