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

นับจำนวนแถวที่มีค่าเท่ากันใน MySQL?


เพื่อนับจำนวนแถวที่มีค่าเท่ากันโดยใช้ฟังก์ชัน COUNT(*) และ GROUP BY ไวยากรณ์มีดังนี้ −

เลือก yourColumName1, count(*) เป็น anyVariableName จาก yourTableName GROUP BY yourColumName1;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −

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

แทรกบางระเบียนที่มีค่าเท่ากัน ที่นี่ เราได้เพิ่มคะแนนเดียวกันสำหรับนักเรียนมากกว่าหนึ่งคนสำหรับตัวอย่างของเรา แบบสอบถามเพื่อแทรกระเบียนมีดังนี้ -

mysql> แทรกลงในค่า RowWithSameValue (100, 'Carol', 89); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า RowWithSameValue (101, 'Sam', 89); แบบสอบถามตกลง 1 แถว ได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า RowWithSameValue (102, 'John', 99); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า RowWithSameValue (103, 'Johnson', 89); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.15 วินาที)

ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดที่เราแทรกไว้ด้านบน แบบสอบถามเพื่อแสดงระเบียนทั้งหมดมีดังนี้ −

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

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

<ก่อนหน้า>+-----------+-------------+--------------+| รหัสนักศึกษา | ชื่อนักเรียน | StudentMarks |+-----------+-------------+------------+| 100 | แครอล | 89 || 101 | แซม | 89 || 102 | จอห์น | 99 || 103 | จอห์นสัน | 89 |+-----------+-------------+--------------+4 แถวในชุด (0.00 วินาที)

ใช้ไวยากรณ์ที่เราพูดถึงในตอนต้นเพื่อนับแถวที่มีค่าเท่ากัน -

mysql> เลือก StudentMarks นับ (*) เป็น SameValue จาก RowWithSameValue GROUP BY StudentMarks;

ต่อไปนี้เป็นผลลัพธ์ที่แสดงการนับหลายค่า -

<ก่อนหน้า>+-------------+-----------+| StudentMarks | SameValue |+-------------+-----------+| 89 | 3 || 99 | 1 |+--------------+-----------+2 แถวในชุด (0.00 วินาที)