好像我的sql中的where语句被忽略了?

时间:2014-10-20 03:22:37

标签: mysql

我有一个查询,它返回表格中列出的每个项目的分数,这些项目的年份早于1980年。我在1980年之后的年份中有一个相似的分数。当我尝试计算一个的平均值减去另一个的平均值时,它出于某种原因将平均值计算为相同(以便忽略我的where子句。我做错了什么?

Select avg(stars) 
from
(Select stars
from Rating, Movie 
where movie.mid = rating.mid and movie.year < 1980);

1 个答案:

答案 0 :(得分:1)

将笛卡儿产品加入更改为常规联接将是第一步......我们需要查看一些数据以更好地理解问题...但是第一次传递

SELECT AVG(stars)
FROM movie
JOIN rating ON rating.mid = movie.mid
WHERE movie.year < 1980
GROUP BY movie.mid

如果这不起作用,请发布一些数据,以便我可以测试