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

วิธีดำเนินการตามเงื่อนไข GROUP BY ใน MySQL เพื่อดึงข้อมูล


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

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

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

mysql> แทรกลงในค่า DemoTable ('John',78);Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DemoTable ('Chris',48); Query OK, 1 แถวได้รับผลกระทบ (0.10 วินาที) )mysql> แทรกลงในค่า DemoTable ('John',67); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า DemoTable ('Chris',89); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ ในที่นี้ เรามีชื่อนักเรียนที่ซ้ำกัน เช่น นักเรียน “จอห์น” ที่มีคะแนน 78 และ 67 −

<ก่อนหน้า>+-------------+--------------+| ชื่อนักเรียน | StudentMarks |+-------------+--------------+| จอห์น | 78 || คริส | 48 || จอห์น | 67 || คริส | 89 |+-------------+-------------+4 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อดำเนินการตามเงื่อนไข GROUP BY และแสดงชื่อนักเรียนที่แตกต่างกันโดยมีคะแนนสูงสุด ตัวอย่างเช่น นักเรียน “จอห์น” ที่มีคะแนนสูงสุด 78 −

mysql> เลือก StudentName,Max(StudentMarks) AS StudentMarks จากกลุ่ม DemoTable โดย StudentName;

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

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