Để đế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)