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

ค้นหาแถวที่ซ้ำกันใน MySQL (คีย์คอมโพสิต) หรือไม่


หากต้องการค้นหาแถวที่ซ้ำกัน ให้ใช้ GROUP BY และ HAVING ใน MySQL ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1494 -> ( -> วันที่จัดส่ง, -> CustomerCountryName varchar(20) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.63 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable1494 ('2018-09-10 12:34:50','US'); เคียวรีตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)mysql> แทรกลงในค่า DemoTable1494 ('2019-09- 10 12:34:50','AUS');แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.65 วินาที)mysql> แทรกลงในค่า DemoTable1494 ('2018-09-10 11:00:00','US');แบบสอบถามตกลง , 1 แถวได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงในค่า DemoTable1494 ('2017-12-31 01:10:40','UK'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable1494 ( '2019-09-10 05:00:50','AUS');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.49 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก * จาก DemoTable1494;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------------------+---------------------+| วันที่จัดส่ง | ชื่อประเทศของลูกค้า |+---------------------+---------------------+| 2018-09-10 12:34:50 | สหรัฐอเมริกา || 2019-09-10 12:34:50 | AUS || 2018-09-10 11:00:00 | สหรัฐอเมริกา || 2017-12-31 01:10:40 | สหราชอาณาจักร || 2019-09-10 05:00:50 | AUS |+--------------------+---------------------+5 แถวใน ตั้งค่า (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาแถวที่ซ้ำกันใน MySQL -

mysql> เลือก ShippingDate,CustomerCountryName,count(*) เป็น c -> จาก DemoTable1494 -> จัดกลุ่มตามวันที่ (ShippingDate),CustomerCountryName -> มี c>=2 -> สั่งซื้อโดย c;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------------------+---------------------------+-- -+| วันที่จัดส่ง | ชื่อประเทศของลูกค้า | ค |+---------------------+---------------------+--- +| 2018-09-10 12:34:50 | สหรัฐอเมริกา | 2 || 2019-09-10 12:34:50 | AUS | 2 |+---------------------+-----------------------------+--- +2 แถวในชุด (0.00 วินาที)