Đối với điều này, bạn có thể sử dụng truy vấn con. Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable ( StudentName varchar(40), StudentMarks int ); Query OK, 0 rows affected (0.50 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable values('Adam',56); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values('Chris',78); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('Adam',89); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('Robert',98); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values('Chris',65); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable values('Robert',34); Query OK, 1 row affected (0.20 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;
Điều này sẽ tạo ra kết quả sau -
+-------------+--------------+ | StudentName | StudentMarks | +-------------+--------------+ | Adam | 56 | | Chris | 78 | | Adam | 89 | | Robert | 98 | | Chris | 65 | | Robert | 34 | +-------------+--------------+ 6 rows in set (0.00 sec)
Sau đây là truy vấn để tìm điểm trung bình của học sinh và chỉ hiển thị điểm trung bình cao nhất -
mysql> select max(avSal.StudentMarks) from (select avg(StudentMarks) as `StudentMarks` from DemoTable group by StudentName) as avSal;
Điều này sẽ tạo ra kết quả sau -
+-------------------------+ | max(avSal.StudentMarks) | +-------------------------+ | 72.5000 | +-------------------------+ 1 row in set (0.09 sec)