gpt4 book ai didi

mysql - SQL Join表获取平均值

转载 作者:行者123 更新时间:2023-11-30 22:13:56 25 4
gpt4 key购买 nike

我有以下表格:

+--------+    +----------------+    +------------+ 
| Rating | | Rating_Person | | Person |
+--------+ +----------------+ +------------+
| ID | | RAT_ID | | ID |
| RATING | | PER_ID | | AVE_RATING |
+--------+ +----------------+ | NO_RATINGS |
+------------+

一个Person可以有很多Ratings

我有一个 SQL 查询,其中我得到了一个 Persons 列表:

SELECT * FROM PERSON 

问题:

如何加入 Rating 表以填充 AVE_RATINGNO_RATINGS 值?

我可以执行以下操作来JOIN 表,但是如何计算AVE_RATINGNO_RATINGS

SELECT * FROM PERSON P 
INNER JOIN RATING_PERSON RP ON P.ID = RP.PER_ID
INNER JOIN RATING R ON RP.RAT_ID = R.ID
GROUP BY P.ID

感谢您的帮助。

(我正在使用 MySQL)

最佳答案

解决方法:

SELECT 
count(R.ID) as NO_ROWS, avg(R.RATING) as AVE_RATING,
P.* FROM PERSON P
INNER JOIN rating_person RP ON P.ID = RP.PER_ID
INNER JOIN RATING R ON RP.RAT_ID = R.ID
group by P.ID

关于mysql - SQL Join表获取平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39108786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com