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

จะรวมการสืบค้นข้อมูลในแบบสอบถาม MySQL เดียวเพื่อรับการนับค่าต่าง ๆ ในคอลัมน์ต่าง ๆ ได้อย่างไร


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

mysql> สร้างตาราง DemoTable760 ( ClientId int, ClientId2 int) แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.79 วินาที)

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

mysql> แทรกลงในค่า DemoTable760 (100,200) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable760 (100,200) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable760 ( 300,400); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable760 (300,400); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.26 วินาที) mysql> แทรกลงในค่า DemoTable760 (100,200); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.23 วินาที) mysql> แทรกลงในค่า DemoTable760 (100,200) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรกลงในค่า DemoTable760 (400,500) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที)

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

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

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

<ก่อนหน้า>+----------+-----------+| รหัสลูกค้า | ClientId2 |+----------+-----------+| 100 | 200 || 100 | 200 || 300 | 400 || 300 | 400 || 100 | 200 || 100 | 200 || 400 | 500 |+----------+-----------+7 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อรวมแบบสอบถามในแบบสอบถามเดียวเพื่อรับการนับค่าต่าง ๆ ในคอลัมน์ต่าง ๆ -

mysql> เลือก sum(ClientId=100) AS ClientId1,sum(ClientId2=200) AS ClientId2 จาก DemoTable760;

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

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