Để đếm số hàng có cùng giá trị bằng cách sử dụng hàm COUNT (*) và GROUP BY. Cú pháp như sau -
SELECT yourColumName1, count(*) as anyVariableName from yourTableName GROUP BY yourColumName1;
Để hiểu cú pháp trên, trước tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -
mysql> create table RowWithSameValue −> ( −> StudentId int, −> StudentName varchar(100), −> StudentMarks int −> ); Query OK, 0 rows affected (0.55 sec)
Chèn một số bản ghi có cùng giá trị. Ở đây, chúng tôi đã thêm các điểm giống nhau cho nhiều học sinh để làm ví dụ. Truy vấn để chèn bản ghi như sau -
mysql> insert into RowWithSameValue values(100,'Carol',89); Query OK, 1 row affected (0.21 sec) mysql> insert into RowWithSameValue values(101,'Sam',89); Query OK, 1 row affected (0.15 sec) mysql> insert into RowWithSameValue values(102,'John',99); Query OK, 1 row affected (0.12 sec) mysql> insert into RowWithSameValue values(103,'Johnson',89); Query OK, 1 row affected (0.15 sec)
Bây giờ bạn có thể hiển thị tất cả các bản ghi mà chúng tôi đã chèn ở trên. Truy vấn để hiển thị tất cả các bản ghi như sau -
mysql> select *from RowWithSameValue;
Sau đây là kết quả -
+-----------+-------------+--------------+ | StudentId | StudentName | StudentMarks | +-----------+-------------+--------------+ | 100 | Carol | 89 | | 101 | Sam | 89 | | 102 | John | 99 | | 103 | Johnson | 89 | +-----------+-------------+--------------+ 4 rows in set (0.00 sec)
Triển khai cú pháp mà chúng ta đã thảo luận ở phần đầu để đếm các hàng có cùng giá trị -
mysql> SELECT StudentMarks, count(*) as SameValue from RowWithSameValue GROUP BY StudentMarks;
Sau đây là đầu ra hiển thị số lượng nhiều giá trị -
+--------------+-----------+ | StudentMarks | SameValue | +--------------+-----------+ | 89 | 3 | | 99 | 1 | +--------------+-----------+ 2 rows in set (0.00 sec)