Mysql 我如何获得电影的高度?

Mysql 我如何获得电影的高度?,mysql,sql,group-by,sql-order-by,mysql-workbench,Mysql,Sql,Group By,Sql Order By,Mysql Workbench,我是SQL新手,我遇到了一个我无法解决的问题,我将列出下表,我尝试做什么,请帮助 问题是:哪个十年的电影平均排名最高?考虑一下: SELECT floor(m.year / 10) * 10 decade FROM movies m INNER JOIN rate r on m.movieid = r.movieid GROUP BY m.movieid, decade ORDER BY avg(r.rank) desc LIMIT 1 这给了你十年中平均排名最高的电影 旁注:您最初的查询有

我是SQL新手,我遇到了一个我无法解决的问题,我将列出下表,我尝试做什么,请帮助

问题是:哪个十年的电影平均排名最高?

考虑一下:

SELECT floor(m.year / 10) * 10 decade
FROM  movies m
INNER JOIN rate r on m.movieid = r.movieid
GROUP BY m.movieid, decade
ORDER BY avg(r.rank) desc
LIMIT 1
这给了你十年中平均排名最高的电影


旁注:您最初的查询有问题-即,
movieid列
不明确,因为它存在于两个表中,并且没有以表名作为前缀。

floor是什么意思?@KaithXXX:the是您的朋友
floor(1997/10)
为您提供了
199
。嘿,可以替换限制吗?当涉及多个表时,最好的编程实践是限定所有列。例如,
m.movieid
而不仅仅是
movieid
。示例数据很好,但您还应该指定预期结果!