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

เลือกแถว MySQL ที่คอลัมน์มีข้อมูลเดียวกันในมากกว่าหนึ่งระเบียน?


ใช้ MySQL เข้าร่วมเพื่อเลือกแถว MySQL ที่คอลัมน์มีข้อมูลเดียวกันในมากกว่าหนึ่งระเบียน ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( UserId int, UserName varchar(20)); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.54 วินาที)

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

mysql> แทรกลงในค่า DemoTable (10,'John'); Query OK, 1 แถวที่ได้รับผลกระทบ (0.16 วินาที)mysql> แทรกลงในค่า DemoTable (11,'Sam'); Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที )mysql> แทรกลงในค่า DemoTable (12, 'Larry'); แบบสอบถามตกลง, 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable (13, 'David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable (14,'Larry');Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที)

แสดงบันทึกจากตารางโดยใช้คำสั่ง select -

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

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

<ก่อนหน้า>+---------+----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ |+-------+----------+| 10 | จอห์น || 11 | แซม || 12 | แลร์รี่ || 13 | เดวิด || 14 | Larry |+-------+----------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อเลือกแถวที่คอลัมน์มีข้อมูลเดียวกันในมากกว่าหนึ่งระเบียน -

mysql> เลือก DISTINCT tbl1.*FROM DemoTable tbl1JOIN DemoTable tbl2on tbl2.UserId <> tbl1.UserIdAND tbl2.UserName=tbl1.UserName;

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

<ก่อนหน้า>+---------+----------+| รหัสผู้ใช้ | ชื่อผู้ใช้ |+-------+----------+| 14 | แลร์รี่ || 12 | Larry |+-------+----------+2 แถวในชุด (0.14 วินาที)