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

Đếm số lần giá trị xuất hiện trong cột cụ thể trong MySQL?

Bạn có thể sử dụng hàm tổng hợp count () với nhóm theo. Cú pháp như sau.

select yourColumnName,count(*) as anyVariableName from yourtableName group by yourColumnName;

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau.

mysql> create table CountSameValue
-> (
-> Id int,
-> Name varchar(100),
-> Marks int
-> );
Query OK, 0 rows affected (0.70 sec)

Chèn bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau.

mysql> insert into CountSameValue values(1,'Sam',67);
Query OK, 1 row affected (0.17 sec)

mysql> insert into CountSameValue values(2,'Mike',87);
Query OK, 1 row affected (0.19 sec)

mysql> insert into CountSameValue values(3,'Carol',67);
Query OK, 1 row affected (0.24 sec)

mysql> insert into CountSameValue values(4,'Bob',87);
Query OK, 1 row affected (0.18 sec)

mysql> insert into CountSameValue values(5,'John',71);
Query OK, 1 row affected (0.17 sec)

mysql> insert into CountSameValue values(6,'Adam',66);
Query OK, 1 row affected (0.18 sec)

mysql> insert into CountSameValue values(7,'David',71);
Query OK, 1 row affected (0.20 sec)

mysql> insert into CountSameValue values(8,'Maria',67);
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ách sử dụng câu lệnh select. Truy vấn như sau.

mysql> select *from CountSameValue;

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

+------+-------+-------+
| Id   | Name  | Marks |
+------+-------+-------+
| 1    | Sam   | 67    |
| 2    | Mike  | 87    |
| 3    | Carol | 67    |
| 4    | Bob   | 87    |
| 5    | John  | 71    |
| 6    | Adam  | 66    |
| 7    | David | 71    |
| 8    | Maria | 67    |
+------+-------+-------+
8 rows in set (0.00 sec)

Đây là truy vấn để đếm số lần giá trị (dấu) xuất hiện trong một cột. Truy vấn như sau.

mysql> select Marks,count(*) as Total from CountSameValue group by Marks;

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

+-------+-------+
| Marks | Total |
+-------+-------+
| 67    | 3     |
| 87    | 2     |
| 71    | 2     |
| 66    | 1     |
+-------+-------+
4 rows in set (0.00 sec)