有人能帮助我理解为什么下面的查询没有正确地偏移吗?
它的目的是选择游戏表中的所有记录,并根据另一张表(WISISLIST)中的记录是否存在同一个GAMIDID @ MeNIDID(在简单的英语中,让我从游戏中获得所有记录,并标记任何在WISHIST表中存在的任何游戏,无论我给您的任何成员),添加一个值为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)

最佳答案

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

关于mysql - MySQL查询无法正确抵消,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3816198/

10-11 02:47