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

Cách đếm tổng số bản ghi trùng lặp trong cột MySQL


Sử dụng cùng bảng stock_item như ví dụ trước, cột quantity có giá trị trùng: 40 (2 lần) và 29 (3 lần).

mysql> Select * from stock_item;
+------------+----------+
| item_name  | quantity |
+------------+----------+
| Calculator |       89 |
| Notebooks  |       40 |
| Pencil     |       40 |
| Pens       |       32 |
| Shirts     |       29 |
| Shoes      |       29 |
| Trousers   |       29 |
+------------+----------+
7 rows in set (0.00 sec)

Có 2 giá trị trùng lặp (40 và 29). Truy vấn sau đếm tổng số bản ghi trùng lặp:

mysql> Select count(*) AS Total_duplicate_count 
    FROM (SELECT item_name FROM stock_item 
    GROUP BY quantity HAVING COUNT(quantity) > 1) AS X;
+-----------------------+
| Total_duplicate_count |
+-----------------------+
|                     2 |
+-----------------------+
1 row in set (0.00 sec)

Giải thích:

  • Truy vấn con nhóm theo quantity và lọc nhóm có COUNT > 1
  • Truy vấn ngoài đếm số nhóm như vậy (COUNT(*))
  • Kết quả = 2 (có 2 giá trị quantity bị trùng: 40 và 29)
Khác với bài trước đếm tần suất, bài này đếm số lượng giá trị khác nhau bị trùng.