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

จัดกลุ่มคะแนนของนักเรียนแต่ละคนจากตารางและแสดงคะแนนรวมในคอลัมน์แยกสำหรับนักเรียนแต่ละคนหรือไม่


หากต้องการจัดกลุ่มเครื่องหมาย ให้ใช้ MySQL GROUP BY สรุป ใช้ฟังก์ชัน MySQL sum() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable1920 ( StudentName varchar(20), StudentMarks int );แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

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

mysql> แทรกลงในค่า DemoTable1920 ('Chris',67) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1920 ('David',97); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที) )mysql> แทรกลงในค่า DemoTable1920 ('Chris',57); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1920 ('David', 45); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.00 วินาที) mysql> แทรกลงในค่า DemoTable1920 ('Chris',89); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.00 วินาที)

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

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

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

<ก่อนหน้า>+-------------+--------------+| ชื่อนักเรียน | StudentMarks |+-------------+--------------+| คริส | 67 || เดวิด | 97 || คริส | 57 || เดวิด | 45 || คริส | 89 |+-------------+-------------+5 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อจัดกลุ่มเครื่องหมายของนักเรียนคนหนึ่ง -

mysql> เลือก StudentName,SUM(StudentMarks) เป็น TotalMarks จากกลุ่ม DemoTable1920 โดย StudentName;

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

<ก่อนหน้า>+-------------+-----------+| ชื่อนักเรียน | TotalMarks |+-------------+-----------+| คริส | 213 || เดวิด | 142 |+-------------+-----------+2 แถวในชุด (0.00 วินาที)