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

จะเลือกค่าที่แตกต่างจากคอลัมน์ MySQL หนึ่งคอลัมน์เท่านั้นได้อย่างไร


ในการเลือกค่าที่แตกต่างจากคอลัมน์เดียวเท่านั้น คุณสามารถใช้ฟังก์ชันรวม MAX() ร่วมกับ GROUP BY ให้เราสร้างตารางก่อน -

mysql> สร้างตารางที่แตกต่างจากOneColumn -> ( -> StudentId int, -> StudentName varchar(100) -> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.77 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อแทรกระเบียนในตารางโดยใช้คำสั่งแทรก -

mysql> แทรกลงในค่า differentFromOneColumn (1001,'John'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า differentFromOneColumn (1002,'Carol'); เคียวรีตกลง, 1 แถวได้รับผลกระทบ (0.15 วินาที )mysql> แทรกลงในค่า differentFromOneColumn (1001, 'Sam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า differentFromOneColumn (1001, 'David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า differentFromOneColumn(1002,'Ramit');Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า differentFromOneColumn(1003,'Bob');Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที)

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

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

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

<ก่อนหน้า>+-----------+-------------+| รหัสนักศึกษา | ชื่อนักเรียน |+-----------+-------------+| 1001 | จอห์น || 1002 | แครอล || 1001 | แซม || 1001 | เดวิด || 1002 | รมิท || 1003 | Bob |+-----------+-------------+6 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อเลือกค่าที่แตกต่างจากคอลัมน์เดียวเท่านั้น -

mysql> เลือก StudentId,MAX(StudentName) AS StudentName -> from differentFromOneColumn -> group by StudentId;

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

<ก่อนหน้า>+-----------+-------------+| รหัสนักศึกษา | ชื่อนักเรียน |+-----------+-------------+| 1001 | แซม || 1002 | รมิท || 1003 | Bob |+-----------+-------------+3 แถวในชุด (0.00 วินาที)