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

Làm cách nào chúng ta có thể tìm thấy các giá trị trùng lặp có sẵn trong bảng MySQL bằng cách sử dụng JOINS?

Giả sử chúng ta có bảng sau có tên 'stock_item', trong đó số lượng cột có các giá trị trùng lặp, tức là đối với tên mặt hàng 'Notebooks' và 'Pencil', cột 'Số lượng' có các giá trị trùng lặp '40' như được hiển thị 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)

Bây giờ với sự trợ giúp của truy vấn sau sử dụng MySQL JOINS, chúng ta 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)