mysql> select * from test; +----+----------+-------+-----------+ | id | name | score | subject | +----+----------+-------+-----------+ | 1 | xiaoming | 89 | shuxue | | 2 | xiaohong | 89 | shuxue | | 3 | xiaohong | 80 | english | | 4 | xiaohong | 80 | physics | | 5 | xiaohong | 80 | astronaut | | 6 | xiaoming | 80 | physics | | 7 | xiaoming | 80 | astronaut | | 8 | xiaoming | 80 | english | | 9 | xiaobai | 80 | astronaut | | 10 | xiaobai | 80 | english | | 11 | xiaobai | 80 | physics | | 12 | xiaobai | 80 | shuxue | | 13 | xiaohei | 80 | astronaut | | 14 | xiaohei | 80 | shuxue | | 15 | xiaohei | 80 | physics | | 16 | xiaohei | 80 | english | +----+----------+-------+-----------+ 16 rows in set (0.00 sec) mysql> select name,avg(score) from test group by name; +----------+------------+ | name | avg(score) | +----------+------------+ | xiaobai | 80.0000 | | xiaohei | 80.0000 | | xiaohong | 82.2500 | | xiaoming | 82.2500 | +----------+------------+ 4 rows in set (0.01 sec) mysql> select name,sum(score)/count(*) from test group by name; +----------+---------------------+ | name | sum(score)/count(*) | +----------+---------------------+ | xiaobai | 80.0000 | | xiaohei | 80.0000 | | xiaohong | 82.2500 | | xiaoming | 82.2500 | +----------+---------------------+ 4 rows in set (0.00 sec)