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

Làm thế nào để đếm các giá trị khác biệt trong MySQL?

Để đếm các giá trị riêng biệt, bạn có thể sử dụng giá trị khác biệt trong hàm tổng hợp count ().

Cú pháp như sau -

select count(distinct yourColumnName) as anyVariableName from yourTableName;

Để hiểu khái niệm trên, chúng ta hãy tạo một bảng. Sau đây là truy vấn để tạo bảng -

mysql> create table DistinctDemo
   −> (
   −> Name varchar(200)
   −> );
Query OK, 0 rows affected (0.58 sec)

Đối với ví dụ của chúng tôi, hãy để chúng tôi chèn các bản ghi trùng lặp trong bảng. Truy vấn để chèn bản ghi như sau -

mysql> insert into DistinctDemo values('John');
Query OK, 1 row affected (0.15 sec)

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

mysql> insert into DistinctDemo values('John');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DistinctDemo values('Johnson');
Query OK, 1 row affected (0.13 sec)

mysql> insert into DistinctDemo values('John');
Query OK, 1 row affected (0.10 sec)

mysql> insert into DistinctDemo values('Johnson');
Query OK, 1 row affected (0.12 sec)

mysql> insert into DistinctDemo values('Sam');
Query OK, 1 row affected (0.14 sec)

mysql> insert into DistinctDemo values('Johnson');
Query OK, 1 row affected (0.10 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. Truy vấn để hiển thị tất cả các bản ghi như sau -

mysql> select *from DistinctDemo;

Sau đây là kết quả hiển thị một số bản ghi trùng lặp -

+---------+
| Name    |
+---------+
| John    |
| Sam     |
| John    |
| Johnson |
| John    |
| Johnson |
| Sam     |
| Johnson |
+---------+
8 rows in set (0.00 sec)

Đây là truy vấn có thể được sử dụng để đếm các giá trị riêng biệt từ bảng -

mysql> select count(distinct Name) as DistinctValues from DistinctDemo;

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

+----------------+
| DistinctValues |
+----------------+
|              3 |
+----------------+
1 row in set (0.01 sec)

Kết quả i3 cho biết rằng chúng ta có 3 giá trị khác biệt trong bảng.