有人可以帮助我理解为什么以下查询没有正确抵消吗?
这意味着选择游戏表中的所有记录,并根据另一个表(愿望清单)中的记录是否存在同一个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)
答案 0 :(得分:2)
LIMIT 1,8
表示从第1行开始(从0开始)并获取8行。因此,LIMIT 2,8
将从第2行开始为您提供8行 - 其中7行与LIMIT 1,8