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

Làm cách nào để đếm các giá trị được phân tách bằng dấu phẩy cụ thể trong một hàng được truy xuất từ ​​cơ sở dữ liệu MySQL?

Để đếm các giá trị được phân tách bằng dấu phẩy, hãy sử dụng hàm tổng hợp COUNT (*) cùng với FIND_IN_SET (). Đầu tiên chúng ta hãy tạo một bảng -

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

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

mysql> insert into DemoTable values('10,20,60,80');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('60,70,90');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('50,55,65,60');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('90,98,97');
Query OK, 1 row affected (0.12 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 -

+-------------+
| Value       |
+-------------+
| 10,20,60,80 |
| 60,70,90    |
| 50,55,65,60 |
| 90,98,97    |
+-------------+
4 rows in set (0.00 sec)

Sau đây là truy vấn để đếm các giá trị được phân tách bằng dấu phẩy được truy xuất từ ​​cơ sở dữ liệu -

mysql> select count(*) from DemoTable
   where find_in_set('60',Value) > 0;

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

+----------+
| count(*) |
+----------+
|        3 |
+----------+
1 row in set (0.00 sec)