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

mysqlmysqli database更新于 2023/11/12 5:17:00

假设我们有以下名为 stock_item 的表,其中,列"quantity"具有重复值,即对于商品名称"Notebooks"和"Pencil",列"Quantity"具有重复值"40",对于商品"Shirts"、"Shoes"和"Trousers",列"quantity"具有三重值 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)


相关文章