คุณสามารถเลือกค่าที่ตรงตามเงื่อนไขที่แตกต่างกันในแถวต่างๆ โดยใช้ IN() และ GROUP BY ไวยากรณ์มีดังนี้ −
เลือก yourColumnName1 จาก yourTableNameWHERE yourColumnName2 IN(value1,value2,.....N)GROUP BY yourColumnName1HAVING COUNT(DISTINCT yourColumnName2)=conditionValue;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง DifferentRows-> (-> FirstRow int,-> SecondRow int-> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.72 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า DifferentRows (10,10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DifferentRows (10,100) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงใน DifferentRows ค่า (10,300); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า DifferentRows (20,100); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก DifferentRows;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----------+-----------+| แถวแรก | SecondRow |+----------+-----------+| 10 | 10 || 10 | 100 || 10 | 300 || 20 | 100 |+----------+-----------+4 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อเลือกค่าที่ตรงกับเงื่อนไขที่แตกต่างกันในแถวที่ต่างกัน สิ่งนี้ให้ระเบียน FirstRow ที่แตกต่างกันทั้งหมดที่มี SecondRow 10, 100, 300
mysql> เลือก FirstRow จาก DifferentRows-> โดยที่ SecondRow IN (10,100,300)-> จัดกลุ่มตาม FirstRow-> มีการนับ (Distinct SecondRow) =3;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+----------+| แถวแรก |+----------+| 10 |+----------+1 แถวในชุด (0.00 วินาที)