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

ลบแถวที่มีเนื้อหาที่ซ้ำกันและคล้ายกัน &รับแถวที่มีจำนวนสูงสุดด้วยคำสั่งเลือก MySQL หรือไม่


ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1468 -> ( -> Id int, -> Name varchar(20), -> Age int -> );Query OK, 0 แถวได้รับผลกระทบ (1.21 วินาที)

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

mysql> แทรกลงในค่า DemoTable1468 (100,'Chris', 23); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable1468 (101, 'Bob', 25); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable1468 (102, 'David', 30); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable1468 (100, 'Chris', 23); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.35 วินาที) mysql> แทรกลงในค่า DemoTable1468 (100, 'Chris', 38); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable1468 (101, 'Bob', 23); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)

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

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

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

<ก่อนหน้า>+------+-------+------+| รหัส | ชื่อ | อายุ |+------+-------+------+| 100 | คริส | 23 || 101 | บ๊อบ | 25 || 102 | เดวิด | 30 || 100 | คริส | 23 || 100 | คริส | 38 || 101 | บ๊อบ | 23 |+------+-------+------+6 แถวในชุด (0.00 วินาที)

นี่คือการสืบค้นเพื่อลบแถวที่มีเนื้อหาที่ซ้ำกันและคล้ายกัน และรับแถวที่มีจำนวนสูงสุดพร้อมคำสั่ง select -

mysql> เลือก Id, Name, Age จาก DemoTable1468 -> จัดกลุ่มตามชื่อ,Id -> มี max(Age);

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

<ก่อนหน้า>+------+-------+------+| รหัส | ชื่อ | อายุ |+------+-------+------+| 100 | คริส | 23 || 101 | บ๊อบ | 25 || 102 | เดวิด | 30 |+------+-------+------+3 แถวในชุด (0.00 วินาที)