mysql 获取单个科目的平均分

 

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 avg(score) as shuxueavg from test where subject="shuxue";
+-----------+
| shuxueavg |
+-----------+
|   84.5000 |
+-----------+
1 row in set (0.00 sec)


mysql> select sum(score)/count(*) as shuxueavg from test where subject="shuxue";
+-----------+
| shuxueavg |
+-----------+
|   84.5000 |
+-----------+
1 row in set (0.00 sec)

 

 

 

posted @ 2019-08-05 21:38  anobscureretreat  阅读(711)  评论(0编辑  收藏  举报