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

ค้นหาคะแนนเฉลี่ยของนักเรียนในวิชาต่างๆ และแสดงเฉพาะคะแนนเฉลี่ยสูงสุดใน MySQL


สำหรับสิ่งนี้ คุณสามารถใช้แบบสอบถามย่อย ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( StudentName varchar(40), StudentMarks int);Query OK, 0 แถวได้รับผลกระทบ (0.50 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('Adam',56); ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable ('Chris', 78); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที) )mysql> แทรกลงในค่า DemoTable ('Adam',89); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable ('Robert', 98); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.19 วินาที) mysql> แทรกลงในค่า DemoTable ('Chris', 65); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที) mysql> แทรกลงในค่า DemoTable ('Robert', 34); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที)

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

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

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

<ก่อนหน้า>+-------------+--------------+| ชื่อนักเรียน | StudentMarks |+-------------+--------------+| อดัม | 56 || คริส | 78 || อดัม | 89 || โรเบิร์ต | 98 || คริส | 65 || โรเบิร์ต | 34 |+-------------+-------------+6 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อค้นหาคะแนนเฉลี่ยของนักเรียนและแสดงเฉพาะคะแนนเฉลี่ยสูงสุด -

mysql> เลือก max(avSal.StudentMarks) จาก (เลือก avg(StudentMarks) เป็น `StudentMarks` จากกลุ่ม DemoTable โดย StudentName) เป็น avSal;

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

<ก่อนหน้า>+-----------------------------------+| max(avSal.StudentMarks) |+--------------------------------------+| 72.5000 |+-------------------------+1 แถวในชุด (0.09 วินาที)