2010-09-28 93 views
1

有人可以幫我理解爲什麼下面的查詢不能正確抵消?MySQL查詢不能正確地抵消

這意味着要選擇遊戲表中的所有記錄,並根據是否存在具有相同gameId @memberId的其他表(願望列表)中的記錄來添加值爲0或1的列(純英文,get我從遊戲中的所有記錄,並標記存在於心願表,無論在什麼MEMBERID我給你任何遊戲)

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) 

回答

2

LIMIT 1,8手段從行號1(它們從0開始),並取8行開始。所以LIMIT 2,8會給你從第2行開始的8行 - 其中七個將是相同的LIMIT 1,8

+0

我完成muppetry!我忘了我的意思是要乘以抵消限額來獲得正確的分頁! – Mohamad 2010-09-28 19:16:55

+0

適合每個人 – Mchl 2010-09-29 07:19:02