MySQL 如何在表的列中计算总重复记录
假设我们有以下名称为stock_item的表,在该表中,列quantity具有重复的值,即对于项目名称’Notebooks’和’Pencil’,列“Quantity”具有重复的值“40”,对于项目’Shirts’,’Shoes’和’Trousers’,列’quantity’保留了3个29的重复值,如表所示。
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)
表明在“quantity”中存在两个重复值,即40和29。
现在,使用以下查询,我们可以计算表“stock_item”中列“quantity”的所有重复记录数。
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)
阅读更多:MySQL 教程