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

Làm cách nào để đếm tổng số bản ghi trùng lặp trong một cột của bảng MySQL?

Giả sử chúng ta có bảng sau có tên stock_item, trong đó số lượng cột có các giá trị trùng lặp, tức là đối với tên mặt hàng 'Máy tính xách tay' và 'Bút chì', cột 'Số lượng' có các giá trị trùng lặp là '40' và đối với các mặt hàng 'Áo sơ mi', 'Giày Giá trị bộ ba 'và' Quần '29 được giữ bằng cột' số lượng 'như được hiển thị trong bảng.

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)

Nó cho thấy rằng có hai giá trị trùng lặp, tức là 40 và 29 trong "số lượng".

Giờ đây, với sự trợ giúp của truy vấn sau, chúng tôi có thể đếm tổng số bản ghi trùng lặp trong cột "số lượng" của bảng "stock_item".

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)