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

Đếm số hàng có cùng giá trị trong MySQL?

Sử dụng COUNT(*) kết hợp GROUP BY trên cột cần đếm.

Cú pháp:

SELECT ten_cot, COUNT(*) AS so_luong FROM ten_bang GROUP BY ten_cot;

Ví dụ bảng điểm sinh viên (có điểm trùng):

CREATE TABLE RowWithSameValue (StudentId INT, StudentName VARCHAR(100), StudentMarks INT);
INSERT INTO RowWithSameValue VALUES
(100,'Carol',89), (101,'Sam',89), (102,'John',99), (103,'Johnson',89);

Dữ liệu:

+-----------+-------------+--------------+
| StudentId | StudentName | StudentMarks |
+-----------+-------------+--------------+
|       100 | Carol       |           89 |
|       101 | Sam         |           89 |
|       102 | John        |           99 |
|       103 | Johnson     |           89 |
+-----------+-------------+--------------+

Đếm số lần xuất hiện của mỗi điểm:

SELECT StudentMarks, COUNT(*) AS SameValue FROM RowWithSameValue GROUP BY StudentMarks;

Kết quả

+--------------+-----------+
| StudentMarks | SameValue |
+--------------+-----------+
|           89 |         3 |
|           99 |         1 |
+--------------+-----------+

Mở rộng: Lọc nhóm có số lượng > n dùng HAVING COUNT(*) > n. Sắp xếp: ORDER BY SameValue DESC.