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

นับจำนวนการเกิดขึ้นของบันทึกเฉพาะ (ซ้ำกัน) ในหนึ่งแบบสอบถาม MySQL


สำหรับสิ่งนี้ ให้ใช้ฟังก์ชันการรวม COUNT() และ GROUP BY เพื่อจัดกลุ่มเรคคอร์ดเฉพาะสำหรับการเกิดขึ้น ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable ( StudentId int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, StudentSubject varchar(40)); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (5.03 วินาที)

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

mysql> แทรกลงในค่า DemoTable(StudentSubject) ('MySQL'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.78 วินาที) mysql> แทรกลงในค่า DemoTable (StudentSubject) ('Java'); ตกลง ตกลง 1 แถวได้รับผลกระทบ ( 0.39 วินาที) mysql> แทรกลงในค่า DemoTable (StudentSubject) ('MySQL'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (1.12 วินาที) mysql> แทรกลงในค่า DemoTable (StudentSubject) ('MongoDB'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.24 วินาที) mysql> แทรกลงในค่า DemoTable (StudentSubject) ('Java'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.45 วินาที)

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

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

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

<ก่อนหน้า>+----------+----------------+| รหัสนักศึกษา | StudentSubject |+----------+----------------+| 1 | MySQL || 2 | ชวา || 3 | MySQL || 4 | MongoDB || 5 | Java |+----------+----------------+5 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อนับการเกิดขึ้นของบันทึกเฉพาะ (ซ้ำ) ในแบบสอบถาม MySQL หนึ่งรายการ -

mysql> เลือก StudentSubject,count(StudentId) จากกลุ่ม DemoTable โดย StudentSubject;

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

<ก่อนหน้า>+----------------+-----------------+| นักศึกษาหัวเรื่อง | นับ(StudentId) |+----------------+-----------------+| MySQL | 2 || ชวา | 2 || MongoDB | 1 |+----------------+-----------------+3 แถวในชุด (0.00 วินาที)