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


假设我们有一个名为 stock_item 的表,其中的 quantity 列有重复值,即对于项目名称“Notebooks”和“Pencil”,列“Quantity”具有重复值“40”,而对于项目“Shirts”、“Shoes”和“Trousers”,triplicate 值 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+ 浏览量

开启你的 职业生涯

完成课程获得认证

开始学习
广告