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

แบบสอบถาม MySQL เพื่อข้ามรายการที่ซ้ำกันและเลือกเพียงหนึ่งจากค่าที่ซ้ำกัน


ไวยากรณ์จะเป็นดังนี้เพื่อข้ามค่าที่ซ้ำกันและเลือกเพียงหนึ่งจากค่าที่ซ้ำกัน -

เลือก min(yourColumnName1),yourColumnName2 from yourTableName group byyourColumnName2;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

mysql> สร้างตาราง doNotSelectDuplicateValuesDemo -> ( -> User_Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> User_Name varchar(20) -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.78 วินาที)

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo(User_Name) ('John');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo(User_Name) ('Carol'); Query OK, 1 แถวได้รับผลกระทบ ( 0.09 วินาที) mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo (ชื่อผู้ใช้) ('Carol'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo (ชื่อผู้ใช้) ('Carol'); ตกลง ตกลง 1 แถวได้รับผลกระทบ ( 0.08 วินาที)mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo (ชื่อผู้ใช้) ('Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.28 วินาที) mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo (ชื่อผู้ใช้) ('ไมค์'); ตกลง ตกลง 1 แถวได้รับผลกระทบ ( 0.19 วินาที)mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo (ชื่อผู้ใช้) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo (ชื่อผู้ใช้) ('David'); ตกลง ตกลง 1 แถวได้รับผลกระทบ ( 0.21 วินาที) mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo (ชื่อผู้ใช้) ('Maxwell'); ตกลง ตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที)mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo (ชื่อผู้ใช้) ('Bob'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า doNotSelectDuplicateValuesDemo (ชื่อผู้ใช้) ('Ramit'); ตกลง ตกลง 1 แถวได้รับผลกระทบ ( 0.16 วินาที)

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

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

นี่คือผลลัพธ์ -

<ก่อนหน้า>+---------+-----------+| User_Id | User_Name |+---------+-----------+| 1 | จอห์น || 2 | แครอล || 3 | แครอล || 4 | แครอล || 5 | แซม || 6 | ไมค์ || 7 | บ๊อบ || 8 | เดวิด || 9 | แม็กซ์เวลล์ || 10 | บ๊อบ || 11 | Ramit |+---------+-----------+11 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่จะข้ามค่าที่ซ้ำกันและเลือกเพียงหนึ่งจากค่าที่ซ้ำกัน -

mysql> เลือก min(User_Id),User_Name จาก doNotSelectDuplicateValuesDemo group byUser_Name;

นี่คือผลลัพธ์ -

<ก่อนหน้า>+-------------+-----------+| min(User_Id) | ชื่อผู้ใช้ |+-------------+-----------+| 1 | จอห์น || 2 | แครอล || 5 | แซม || 6 | ไมค์ || 7 | บ๊อบ || 8 | เดวิด || 9 | แม็กซ์เวลล์ || 11 | Ramit |+-------------+-----------+8 แถวในชุด (0.07 วินาที)