MySQL查询没有正确抵消

时间:2010-09-28 19:10:16

标签: mysql

有人可以帮助我理解为什么以下查询没有正确抵消吗?

这意味着选择游戏表中的所有记录,并根据另一个表(愿望清单)中的记录是否存在同一个gameId @memberId(用简单的英语,让我来)添加一个值为0或1的列来自游戏的所有记录,并在我给你的任何成员下标记愿望清单表中存在的任何游戏)

SELECT *,
    CASE WHEN wishlists.memberid IS NULL THEN 0 ELSE 1 END AS InMembersList

FROM games
    INNER JOIN platforms ON games.platformid = platforms.id 
    LEFT OUTER JOIN wishlists ON games.id = wishlists.gameid and wishlists.memberid = @memberId

WHERE platforms.platformUrlId = @platformUrlId

ORDER BY releaseDate DESC

LIMIT 1,8

当我将偏移量从1更改为2或3或其他任何内容时,会出现许多相同的记录,这没有任何意义。我哪里错了?

架构:

platforms(id, platform)
members(id, name)
games(id, platformId, releaseDate)
wishlists(id, memberId, gameId)

1 个答案:

答案 0 :(得分:2)

LIMIT 1,8表示从第1行开始(从0开始)并获取8行。因此,LIMIT 2,8将从第2行开始为您提供8行 - 其中7行与LIMIT 1,8

相同