如何在sql中获取2个表中所有记录的平均值

63lcw9qa  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(274)

我需要获取sql中每一行的平均值,例如:
这是第一张table

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

这是第二个表,我需要得到的id 1和2的平均值。结果例如:

+ -------------------+------+----------+
| 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

请帮忙

gwo2fgha

gwo2fgha1#

select course_id, avg(rate) from table1,table2 where table1.course_id=table2.course_id group by course_id;
w51jfk4q

w51jfk4q2#

缺少按修饰符分组

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

相关问题