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

ดึงคะแนนสูงสุดสำหรับนักเรียนที่มีเครื่องหมาย 1 และ 2 ระเบียนใน MySQL หรือไม่


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

mysql> สร้างตาราง DemoTable -> ( -> StudentEmailId varchar(20), -> Marks1 int, -> Marks2 int-> );แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.90 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('John@gmail.com',45,32); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.30 วินาที)mysql> แทรกลงในค่า DemoTable ('John@gmail.com', 32, 45); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.34 วินาที) mysql> แทรกลงในค่า DemoTable ('Carol@gmail.com', 32,45); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (1.64 วินาที) mysql> แทรกลงในค่า DemoTable ( 'David@gmail.com',45,32);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.18 วินาที)

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

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

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

<ก่อนหน้า>+-----------------------------+-------+| StudentEmailId | Marks1 | Marks2 |+-----------------+---------+-------+| John@gmail.com | 45 | 32 || John@gmail.com | 32 | 45 || Carol@gmail.com | 32 | 45 || David@gmail.com | 45 | 32 |+-----------------+---------+-------+4 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อดึงคะแนนสูงสุดของแต่ละบุคคลสำหรับนักเรียนที่มีเครื่องหมาย 1 และ 2 ระเบียน -

mysql> เลือก StudentEmailId,max(Marks1),max(Marks2) จาก DemoTable -> group โดย StudentEmailId;

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

<ก่อนหน้า>+-----------+-------------+-------------+ | StudentEmailId | max(Marks1) | สูงสุด(Marks2) |+-----------+-------------+----------- -+| John@gmail.com | 45 | 45 || Carol@gmail.com | 32 | 45 || David@gmail.com | 45 | 32 |+----------+-------------+-------------+3 แถวในชุด (0.00 วินาที)