Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL 테이블의 열에 있는 총 중복 레코드를 어떻게 계산합니까?

<시간/>

항목 이름 'Notebooks' 및 'Pencil'의 경우 항목 이름 'Notebooks' 및 'Pencil'에 대해 중복 값이 ​​있는 stock_item이라는 이름의 다음 테이블이 있고 항목 'Shirts', 'Shoes'에 대해 중복 값 '40'이 있다고 가정합니다. ' 및 '바지' 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)