Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để tìm các giá trị trùng lặp có sẵn trong bảng MySQL?


Giả sử chúng ta có bảng sau có tên stock_item, trong đó số lượng cột có giá trị trùng lặp, nghĩa là đối với tên mặt hàng 'Sổ tay' và 'Bút chì', cột 'Số lượng' có giá trị trùng lặp " 40 'như trong bảng.

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)

Giờ đây, với sự trợ giúp của truy vấn sau, chúng tôi có thể tìm thấy các giá trị trùng lặp trong cột 'số lượng' cùng với tên của các mục.

mysql> Select distinct g.item_name,g.quantity from stock_item g
    -> INNER JOIN Stock_item b ON g.quantity = b.quantity
    -> WHERE g.item_name<>b.item_name;

+-----------+----------+
| item_name | quantity |
+-----------+----------+
| Pencil    | 40       |
| Notebooks | 40       |
| Shoes     | 29       |
| Trousers  | 29       |
| Shirts    | 29       |
+-----------+----------+
5 rows in set (0.00 sec)