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

แบบสอบถาม MySQL เพื่อนับความถี่ของนักเรียนในวัยเดียวกัน?


คุณสามารถใช้ COUNT(*) ร่วมกับ GROUP BY สำหรับสิ่งนี้ ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, StudentAge int ); สืบค้นตกลง 0 แถวได้รับผลกระทบ (0.59 วินาที)

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

mysql> แทรกลงในค่า DemoTable(StudentAge) (16) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable (StudentAge) (17) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า DemoTable(StudentAge) (18); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน DemoTable (StudentAge) ค่า (17); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน DemoTable ค่า (StudentAge) (17); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.23 วินาที) mysql> แทรกลงในค่า DemoTable (StudentAge) (17); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า DemoTable (StudentAge) (18); ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable (StudentAge) (18); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable (StudentAge) (19); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรกลงในค่า DemoTable (StudentAge) (19); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.07 วินาที) mysql> แทรกลงในค่า DemoTable (StudentAge) (16); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงใน DemoTable (StudentAg e) ค่า (16); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable (StudentAge) (15); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.16 วินาที)

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

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

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

<ก่อนหน้า>+-----------+-----------+| รหัสนักศึกษา | StudentAge |+-----------+-----------+| 1 | 16 || 2 | 17 || 3 | 18 || 4 | 17 || 5 | 17 || 6 | 17 || 7 | 18 || 8 | 18 || 9 | 19 || 10 | 19 || 11 | 16 || 12 | 16 || 13 | 15 |+-----------+-----------+13 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อนับความถี่ -

mysql> เลือก StudentAge,count(*) AS `AgeFrequency` จากกลุ่ม DemoTable ตาม StudentAge;

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

<ก่อนหน้า>+------------+--------------+| StudentAge | AgeFrequency |+-----------+-------------+| 16 | 3 || 17 | 4 || 18 | 3 || 19 | 2 || 15 | 1 |+------------+-------------+5 แถวในชุด (0.05 วินาที)