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

แบบสอบถาม MySQL เพื่อจัดกลุ่มตามชื่อและแสดงจำนวนในคอลัมน์ใหม่


ใช้ GROUP BY ด้วยเมธอด COUNT() จัดกลุ่มชื่อด้วย GROUP BY และนับโดยใช้เมธอด COUNT() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( ชื่อ varchar(30)); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.63 วินาที)

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

mysql> แทรกลงในค่า DemoTable ('Chris'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า DemoTable ('Robert'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที) mysql> แทรก ลงในค่า DemoTable ('ไมค์'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable ('โรเบิร์ต'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.07 วินาที) mysql> แทรกลงในค่า DemoTable ('ไมค์ ');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที)mysql> แทรกลงในค่า DemoTable ('David'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.12 วินาที)

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

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

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

<ก่อนหน้า>+---------+| ชื่อ |+-------+| คริส || โรเบิร์ต || ไมค์ || โรเบิร์ต || ไมค์ || David |+--------+6 แถวในชุด (0.00 วินาที)

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

mysql> เลือก Name,count(Name) เป็น NumberOfRowsPerName จากกลุ่ม DemoTable ตามชื่อ

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

<ก่อนหน้า>+---------+---------------------+| ชื่อ | NumberOfRowsPerName |+---------+---------------------+| คริส | 1 || โรเบิร์ต | 2 || ไมค์ | 2 || เดวิด | 1 |+---------+---------------------+4 แถวในชุด (0.00 วินาที)