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

Đếm giá trị giống nhau của mỗi hàng trong một cột MySQL

Để đếm giá trị giống nhau của mỗi hàng, hãy sử dụng COUNT(*) cùng với mệnh đề GROUP BY. Hãy cùng tạo một bảng trước:

mysql> CREATE TABLE DemoTable1818 (
    Id INT,
    Name VARCHAR(20)
    ); Query OK, 0 rows affected (0.00 sec)

Chèn một số bản ghi vào bảng bằng lệnh INSERT:

mysql> INSERT INTO DemoTable1818 VALUES(10,'Chris'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1818 VALUES(11,'Chris'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1818 VALUES(11,'Chris'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1818 VALUES(12,'Chris'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1818 VALUES(10,'Chris'); Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO DemoTable1818 VALUES(10,'Chris'); Query OK, 1 row affected (0.00 sec)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable1818;

Kết quả sẽ như sau:

+------+-------+
| Id   | Name  |
+------+-------+
|   10 | Chris |
|   11 | Chris |
|   11 | Chris |
|   12 | Chris |
|   10 | Chris |
|   10 | Chris |
+------+-------+
6 rows in set (0.00 sec)

Dưới đây là truy vấn để đếm giá trị giống nhau của mỗi hàng trong một cột:

mysql> SELECT Id, COUNT(*) AS TotalPerId FROM DemoTable1818 GROUP BY Id;

Kết quả sẽ như sau:

+------+------------+
| Id   | TotalPerId |
+------+------------+
|   10 |          3 |
|   11 |          2 |
|   12 |          1 |
+------+------------+
3 rows in set (0.00 sec)