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

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


สำหรับสิ่งนี้ คุณสามารถใช้ GROUP BY HAVING clause ได้

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

mysql> สร้างตาราง DemoTable751 ( StudentName varchar(100), SubjectName varchar(100));Query OK, 0 แถวได้รับผลกระทบ (0.66 วินาที)

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

mysql> แทรกลงในค่า DemoTable751 ('John', 'MySQL'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable751 ('John', 'MongoDB'); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable751 ('Sam', 'MySQL'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable751 ('Carol', 'Java'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า DemoTable751 ('David', 'MySQL'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DemoTable751 ('Carol', 'MongoDB'); แบบสอบถาม ตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)

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

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

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

<ก่อนหน้า>+-------------+-------------+| ชื่อนักเรียน | SubjectName |+-------------+-------------+| จอห์น | MySQL || จอห์น | MongoDB || แซม | MySQL || แครอล | ชวา || เดวิด | MySQL || แครอล | MongoDB |+-------------+-------------+6 แถวในชุด (0.00 วินาที)

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

mysql> เลือก StudentName จากกลุ่ม DemoTable751 โดย StudentName นับ (SubjectName)> 1;

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

<ก่อนหน้า>+-------------+| ชื่อนักเรียน |+-------------+| จอห์น || Carol |+-------------+2 แถวในชุด (0.00 วินาที)