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

แบบสอบถาม MySQL เพื่อจัดกลุ่มตามคอลัมน์และแสดงผลรวมของค่าที่คล้ายกันในคอลัมน์อื่น


สำหรับสิ่งนี้ ให้ใช้ประโยค GROUP BY HAVING

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

mysql> สร้างตาราง DemoTable782 ( Name varchar(100), Score int);Query OK, 0 แถวได้รับผลกระทบ (1.18 วินาที)

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

mysql> แทรกลงในค่า DemoTable782 ('John',156); Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า DemoTable782 ('Carol',250); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที) )mysql> แทรกลงในค่า DemoTable782 ('Bob',140); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable782 ('John',126); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.29 วินาที) mysql> แทรกลงในค่า DemoTable782 ('John',140); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable782 ('Bob',280); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรก ลงในค่า DemoTable782 ('Bob',250); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.41 วินาที) mysql> แทรกลงในค่า DemoTable782 ('Carol', 189); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงใน DemoTable782 values('Carol',299);แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.21 วินาที)

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

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

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

<ก่อนหน้า>+-------+-------+| ชื่อ | คะแนน |+-------+-------+| จอห์น | 156 || แครอล | 250 || บ๊อบ | 140 || จอห์น | 126 || จอห์น | 140 || บ๊อบ | 280 || บ๊อบ | 250 || แครอล | 189 || แครอล | 299 |+-------+-------+9 แถวในชุด (0.00 วินาที)

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

mysql> เลือก Name,SUM(Score) AS Total จากกลุ่ม DemoTable782 ตามชื่อ HAVING Total> 500;

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

<ก่อนหน้า>+-------+-------+| ชื่อ | รวม |+-------+-------+| แครอล | 738 || บ๊อบ | 670 |+-------+-------+2 แถวในชุด (0.00 วินาที)