Mysql 从两个表中获取一些数据

Mysql 从两个表中获取一些数据,mysql,Mysql,我有一个像imdb这样的网站,我们在这个网站上提供电影信息。我们的网站可以为每个用户对所有电影进行评分 我有两张桌子 1.imdb(用于存储电影详细信息) id、姓名、演员、投票权 2.评级(针对门店用户的评级详细信息)id、评级id(与第一个表中的id相同)、评级编号、IP 现在我要做的是..当任何人对一部电影进行评级时,通过使用评级表(总评级/评级数量)获取该电影评级的平均值,并将该值插入第一个表中的“投票”列..我的要求是..这就是为什么这样做 现在我的问题是..我想获得最高评级的电影..

我有一个像imdb这样的网站,我们在这个网站上提供电影信息。我们的网站可以为每个用户对所有电影进行评分

我有两张桌子
1.imdb(用于存储电影详细信息) id、姓名、演员、投票权
2.评级(针对门店用户的评级详细信息)id、评级id(与第一个表中的id相同)、评级编号、IP

现在我要做的是..当任何人对一部电影进行评级时,通过使用评级表(总评级/评级数量)获取该电影评级的平均值,并将该值插入第一个表中的“投票”列..我的要求是..这就是为什么这样做

现在我的问题是..我想获得最高评级的电影..我的意思是在投票栏中,哪个电影有最高评级,哪个要列出,还有一个条件是,该电影应该由10个用户评级(使用评级表)


提前谢谢

我不太明白你们的桌子是如何组织的。是否有A)评级表中客户给出的每个评级都有一个新行,或B)每个更新的电影只有一行

我是gues,这是一个等级,等级是客户给出的等级

在这种情况下,一个简单的MySql解决方案可以使用聚合函数,如COUNT和AVG。未测试示例

编辑-要从imdb表中获取详细信息,只需加入它们

SELECT id as 'ID', COUNT(1) as 'Number of ratings', AVG(r.rating_num) as 'Average rating', i.name, i.actors, i.vote
FROM ratings r
INNER JOIN imbd i ON ( r.id = i.id )
GROUP BY r.id
HAVING `Number of ratings` >= 10
ORDER BY `Average rating` desc
LIMIT 10

工作正常…但一个小问题是我需要使用ID从imdb表中获取前10名电影的详细信息。如何做到??