我们如何计算 MySQL 表中一列的总重复记录数?


假设我们有一个名为 stock_item 的表,其中 quantity 列有重复值,即对于项目名称“Notebooks”和“Pencil”,列“Quantity”有重复值“40”,对于项目“Shirts”、“Shoes”和“Trousers”,三元组值为 29 由“quantity”列保存,如表所示。

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)

更新: 13-Feb-2020

2K+ 浏览量

开启您的职业

完成课程后获取认证

入门
广告