Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Đếm số lần từ cụ thể xuất hiện trong cột MySQL

Sử dụng hàm COUNT() với điều kiện WHERE.

Tạo bảng demo

mysql> create table DemoTable (
    EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    EmployeeName varchar(100)
);
Query OK, 0 rows affected (0.62 sec)

Chèn dữ liệu (Carol xuất hiện 3 lần)

mysql> insert into DemoTable(EmployeeName) values('John');
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable(EmployeeName) values('Carol');
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable(EmployeeName) values('David');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(EmployeeName) values('Carol');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(EmployeeName) values('Carol');
Query OK, 1 row affected (0.29 sec)
mysql> insert into DemoTable(EmployeeName) values('Bob');
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable(EmployeeName) values('Sam');
Query OK, 1 row affected (0.12 sec)

Hiển thị tất cả

mysql> select * from DemoTable;

Kết quả

+------------+--------------+
| EmployeeId | EmployeeName |
+------------+--------------+
| 1          | John         |
| 2          | Carol        |
| 3          | David        |
| 4          | Carol        |
| 5          | Carol        |
| 6          | Bob          |
| 7          | Sam          |
+------------+--------------+
7 rows in set (0.00 sec)

Truy vấn đếm số lần "Carol" xuất hiện

mysql> select EmployeeName, count(EmployeeId) as Occurrence from DemoTable where EmployeeName = 'Carol';

Kết quả

+--------------+------------+
| EmployeeName | Occurrence |
+--------------+------------+
| Carol        | 3          |
+--------------+------------+
1 row in set (0.05 sec)

Mở rộng: Đếm tất cả tên cùng lúc

SELECT EmployeeName, COUNT(*) as Occurrence 
FROM DemoTable 
GROUP BY EmployeeName 
ORDER BY Occurrence DESC;

Kết quả:

+--------------+------------+
| EmployeeName | Occurrence |
+--------------+------------+
| Carol        | 3          |
| John         | 1          |
| David        | 1          |
| Bob          | 1          |
| Sam          | 1          |
+--------------+------------+

Đếm từ trong chuỗi văn bản (không phải toàn cột): Dùng (LENGTH(cot) - LENGTH(REPLACE(cot, 'tu', ''))) / LENGTH('tu').