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

ใช้กลุ่มตามสองฟิลด์และนับใน MySQL หรือไม่


เพื่อนำ GROUP BY ไปใช้กับสองฟิลด์และนับ ให้เราสร้างตาราง ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตาราง −

mysql> สร้างตาราง GroupByTwoFieldsDemo −> ( −> Id int, −> Name varchar(200) −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.53 วินาที)

ให้เราแทรกระเบียนบางส่วนในตาราง -

mysql> แทรกลงในค่า GroupByTwoFieldsDemo (1,'John'); Query OK, 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า GroupByTwoFieldsDemo (10,'Johnson'); Query OK, 1 แถวได้รับผลกระทบ (0.16 วินาที )mysql> แทรกลงในค่า GroupByTwoFieldsDemo (9,'Carol'); Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า GroupByTwoFieldsDemo (6,'Sam'); ตกลง สืบค้น 1 แถวได้รับผลกระทบ (0.16 วินาที) mysql> แทรกลงในค่า GroupByTwoFieldsDemo (5, 'David'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า GroupByTwoFieldsDemo (10, 'Johnson'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรก ลงในค่า GroupByTwoFieldsDemo (6,'Sam'); ตกลง ตกลง 1 แถว (0.17 วินาที)

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

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+------+---------+| รหัส | ชื่อ |+------+---------+| 1 | จอห์น | | 10 | จอห์นสัน || 9 | แครอล || 6 | แซม || 5 | เดวิด || 10 | จอห์นสัน || 6 | แซม |+------+---------+7 แถวในชุด (0.00 วินาที)

ต่อไปนี้คือรูปแบบการจัดกลุ่มตามสองคอลัมน์และนับ −

เลือก yourColumnName1,yourColumnName2,....N,count(yourColumnName1) จาก GroupByTwoFieldsDemo group โดย yourColumnName1 desc,yourColumName2;

ใช้ไวยากรณ์ข้างต้นเพื่อจัดกลุ่มตามสองคอลัมน์และแสดงจำนวนค่าที่ซ้ำกัน -

mysql> เลือก Id,Name,count(Id) จาก GroupByTwoFieldsDemo ตาม id desc,Name;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+------+---------+-----------+| รหัส | ชื่อ | นับ(Id) |+------+---------+-----------+| 10 | จอห์นสัน | 2 || 9 | แครอล | 1 || 6 | แซม | 2 || 5 | เดวิด | 1 || 1 | จอห์น | 1 |+------+---------+-----------+5 แถวในชุด 1 คำเตือน (0.00 วินาที)