Computer >> Máy Tính >  >> Lập trình >> MySQL

Truy vấn MySQL để sắp xếp thứ tự các bản ghi và đếm các bản sao?

Đối với điều này, hãy sử dụng cả mệnh đề GROUP BY và ORDER BY. Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable
   (
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentGrade char(1)
   );
Query OK, 0 rows affected (0.87 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable(StudentGrade) values('A');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(StudentGrade) values('F');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(StudentGrade) values('C');
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable(StudentGrade) values('A');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable(StudentGrade) values('F');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(StudentGrade) values('F');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable(StudentGrade) values('B');
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(StudentGrade) values('C');
Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Đầu ra

+-----------+--------------+
| StudentId | StudentGrade |
+-----------+--------------+
| 1         | A            |
| 2         | F            |
| 3         | C            |
| 4         | A            |
| 5         | F            |
| 6         | F            |
| 7         | B            |
| 8         | C            |
+-----------+--------------+
8 rows in set (0.00 sec)

Đây là truy vấn để sắp xếp thứ tự bảng chữ cái và đếm -

mysql> select StudentGrade,count(StudentId) as Frequency from DemoTable 
   group by StudentGrade order by StudentGrade;

Đầu ra

+--------------+-----------+
| StudentGrade | Frequency |
+--------------+-----------+
| A            | 2         |
| B            | 1         |
| C            | 2         |
| F            | 3         |
+--------------+-----------+
4 rows in set (0.00 sec)