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

จะนับการสืบค้นยูเนี่ยน MySQL ได้อย่างไร


ในการนับยูเนี่ยนคือการนับผลลัพธ์ของยูเนี่ยน ให้ใช้ไวยากรณ์ด้านล่าง -

เลือก COUNT(*)FROM(เลือก yourColumName1 จาก yourTableName1UNIONSELECT yourColumName1 จาก yourTableName2) anyVariableName;

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

mysql> สร้างตาราง union_Table1-> (-> UserId int-> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.47 วินาที)

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

mysql> แทรกลงในค่า union_Table1 (1); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.18 วินาที) mysql> แทรกลงในค่า union_Table1 (10) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า union_Table1 ( 20);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.09 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+---------+| รหัสผู้ใช้ |+---------+| 1 || 10 || 20 |+-------+3 แถวในชุด (0.00 วินาที)

แบบสอบถามเพื่อสร้างตารางที่สอง

mysql> สร้างตาราง union_Table2-> (-> UserId int-> );เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.69 วินาที)

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

mysql> แทรกลงในค่า union_Table2 (1); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า union_Table2 (30); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที) mysql> แทรกลงในค่า union_Table2 ( 50);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+---------+| รหัสผู้ใช้ |+---------+| 1 || 30 || 50 |+-------+3 แถวในชุด (0.00 วินาที)

ในตารางทั้งสอง ถ้าระเบียนใดระเบียนหนึ่งเหมือนกัน จะพิจารณาเพียงครั้งเดียว นี่คือคิวรีที่จะนับในคิวรีแบบร่วม

mysql> เลือกจำนวน (*) เป็น UnionCount from-> (-> เลือก UserId ที่แตกต่างจาก union_Table1-> union-> เลือก UserId ที่แตกต่างจาก union_Table2-> )tbl1;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงการนับ

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