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

แบบสอบถาม MySQL เพื่อนับแถวที่มีความสัมพันธ์ซึ่งกันและกันโดยใช้ JOIN?


สำหรับสิ่งนี้ ให้ใช้ฟังก์ชันการรวม COUNT(*) ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1543 -> ( -> Value1 int, -> Value2 int -> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (1.36 วินาที)

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

mysql> แทรกลงในค่า DemoTable1543 (57,60) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.52 วินาที) mysql> แทรกลงในค่า DemoTable1543 (60,68); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.38 วินาที) mysql> ลงในค่า DemoTable1543 (90,98); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.36 วินาที) mysql> แทรกลงในค่า DemoTable1543 (98,90); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที)

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

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

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

<ก่อนหน้า>+---------+-------+| Value1 | ค่าที่ 2 |+---------+-------+| 57 | 60 || 60 | 68 || 90 | 98 || 98 | 90 |+--------+-------+4 แถวในชุด (0.00 วินาที)

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

mysql> เลือกจำนวน (*) จาก DemoTable1543 tbl1 -> เข้าร่วม DemoTable1543 tbl2 -> บน tbl1.Value2=tbl2.Value1 -> โดยที่ tbl1.Value1=90 และ tbl2.Value2=90;

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

<ก่อนหน้า>+----------+| นับ(*) |+----------+| 1 |+----------+1 แถวในชุด (0.00 วินาที)