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

แบบสอบถาม MySQL สำหรับการจัดกลุ่มและรวมค่าตามบันทึกเฉพาะ


ใช้ GROUP BY เพื่อจัดกลุ่มระเบียน ในขณะที่ใช้ฟังก์ชัน SUM() เพื่อเพิ่ม ให้เราสร้างตารางก่อน -

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

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

mysql> แทรกลงในค่า DemoTable ('Chris', 'MySQL',76); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.32 วินาที)mysql> ลงในค่า DemoTable ('Sam', 'MongoDB',86); แบบสอบถาม ตกลง 1 แถวได้รับผลกระทบ (0.39 วินาที)mysql> แทรกลงในค่า DemoTable ('Mike', 'MySQL',98); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.46 วินาที) mysql> แทรกลงในค่า DemoTable ('David', 'Java ',93);แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.32 วินาที)mysql> แทรกลงในค่า DemoTable ('Bob','MySQL',57); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า DemoTable ( 'John','MongoDB',77);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.17 วินาที)

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

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

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

<ก่อนหน้า>+-------+---------+-------+| ชื่อ | เรื่อง | เครื่องหมาย |+-------+---------+-------+| คริส | MySQL | 76 || แซม | MongoDB | 86 || ไมค์ | MySQL | 98 || เดวิด | ชวา | 93 || บ๊อบ | MySQL | 57 || จอห์น | MongoDB | 77 |+-------+---------+-------+6 แถวในชุด (0.00 วินาที)

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

mysql> เลือก Subject,SUM(Marks) จากกลุ่ม DemoTable ตามหัวเรื่อง

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

<ก่อนหน้า>+---------+-----------+| เรื่อง | SUM(เครื่องหมาย) |+---------+-----------+| MySQL | 231 || MongoDB | 163 || ชวา | 93 |+---------+-----------+3 แถวในชุด (0.00 วินาที)