Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เราจะนับจำนวนระเบียนที่ซ้ำกันทั้งหมดในคอลัมน์ของตาราง MySQL ได้อย่างไร


สมมติว่าเรามีตารางต่อไปนี้ชื่อ stock_item ซึ่งจำนวนคอลัมน์มีค่าที่ซ้ำกัน เช่น สำหรับชื่อรายการ 'Notebooks' และ 'Pencil' คอลัมน์ 'Quantity' มีค่าซ้ำกัน '40' และสำหรับรายการ 'Shirts', 'Shoes ' และ 'กางเกง' ค่าสามเท่า 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)

แสดงว่ามีค่าที่ซ้ำกันสองค่าคือ 40 และ 29 ใน "ปริมาณ"

ด้วยความช่วยเหลือของแบบสอบถามต่อไปนี้ เราสามารถนับระเบียนที่ซ้ำกันทั้งหมดในคอลัมน์ 'ปริมาณ' ของตาราง 'stock_item'

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)