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

แบบสอบถาม MySQL เพื่อเรียงตามตัวอักษรและนับรายการที่ซ้ำกัน?


สำหรับสิ่งนี้ ให้ใช้ทั้ง GROUP BY และ ORDER BY clause ให้เราสร้างตารางก่อน -

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

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

mysql> แทรกลงในค่า DemoTable(StudentGrade) ('A'); ตกลงแบบสอบถาม 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable (StudentGrade) ('F'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว ( 0.14 วินาที) mysql> แทรกลงในค่า DemoTable (StudentGrade) ('C'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.28 วินาที) mysql> แทรกลงในค่า DemoTable (StudentGrade) ('A'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.23 วินาที) mysql> แทรกลงในค่า DemoTable (StudentGrade) ('F'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable (StudentGrade) ('F'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.10 วินาที) mysql> แทรกลงในค่า DemoTable (StudentGrade) ('B'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที) mysql> แทรกลงในค่า DemoTable (StudentGrade) ('C'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ ( 0.13 วินาที)

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

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

ผลลัพธ์

<ก่อนหน้า>+-----------+--------------+| รหัสนักศึกษา | StudentGrade |+-----------+-------------+| 1 | A || 2 | F || 3 | ค || 4 | A || 5 | F || 6 | F || 7 | ข || 8 | C |+-----------+-------------+8 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามที่จะเรียงตามตัวอักษรและนับ -

mysql> เลือก StudentGrade,count(StudentId) เป็นความถี่จากกลุ่ม DemoTable ตามลำดับ StudentGrade โดย StudentGrade;

ผลลัพธ์

<ก่อนหน้า>+-------------+-----------+| เกรดนักเรียน | ความถี่ |+-------------+-----------+| A | 2 || บี | 1 || ค | 2 || F | 3 |+--------------+-----------+4 แถวในชุด (0.00 วินาที)