如何在SQL中的2个表中获取所有记录的AVG

时间:2018-11-26 18:44:49

标签: mysql sql aggregate-functions

例如,我需要为SQL中的每一行获取AVG:

这是第一张桌子

+ ---+------+-------------+
| course_id | course_name | 
+ ----------+-------------+
| 1         | a           |
| 2         | b           | 
| 3         | c           | 
| 4         | g           | 
+ ---+------+-------------+

这是第二张桌子 我需要同时获取ID 1和ID 2的AVG。例如,结果:

+ -------------------+------+----------+
| course_feedback_id | rate |course_id |
+ -================--+------+----------+
|       1            | 4    |   1      |
|       2            | 3    |   1      |
|       3            | 2    |   2      |
+ -------------------+------+----------+

这是我需要的最终答案

+ ----------------------+
| course_id | AVG(rate) |
+ -=======--+-----------+
|     1     | 3.5       |   
|     2     | 2         |     
+ ----------------------+

我尝试过这种解决方案,但是它只会给我第一行而不是所有记录。

SELECT *, AVG(`rate`) from secondTable 

请帮助

2 个答案:

答案 0 :(得分:0)

{{1}}

答案 1 :(得分:0)

缺少按修饰符分组

SELECT *, AVG(`rate`) 
  FROM secondTable 
  GROUP BY course_id