MySQL SQL EXISTS 子句作为 LIMIT 使用限制的解决方法失败
正在测试下面的查询,认为它可以让我绕过“不能在子查询中使用 LIMIT”限制。查询运行,但平均值只是所有记录的平均值,其中 MScores.MemberId=1193 AND MScores.=“FSO” 它似乎完全忽略了 EXISTS 子句Div。
该查询应返回特定部门中特定成员的 5 个(或更少)最新分数的滚动平均值。
为什么 EXISTS 子句不会影响结果吗?
SELECT MScores.MemberId, MScores.`Div`, AVG(MScores.Final) AS AvgOfFinal
FROM qryMatchScores MScores
WHERE MScores.MemberId=1193 AND MScores.`Div`="FSO" AND
EXISTS (
SELECT MatchDate
FROM qryMatchScores MDates
WHERE
MDates.MemberId = MScores.MemberId AND
MDates.`Div` = MScores.`Div` AND
MDates.MatchDate = MScores.MatchDate
ORDER BY MatchDate DESC
LIMIT 5
);