저는 높은 점수 서버를 만들고 있으며, 필요한 기능 중 하나는 사용자의 현재 점수 주변의 높은 점수를 검색 할 수 있습니다. 그렇지 않으면 나는이 멋쟁이 일 것이라고 생각mysql의 마이너스 리미트 오프셋
SELECT * FROM highscores
WHERE score >= (SELECT score FROM highscores WHERE userID = someID)
ORDER BY score, updated ASC
LIMIT -9, 19
유일한 여기에 문제 LIMIT의 오프셋 매개 변수는 음수가 될 수 없다는 것입니다 : 저는 현재 다음있다. 결론적으로, LIMIT 오프셋에 음수 오프셋을 제공하는 트릭/방법이 있습니까? 아니면이 문제에 대해 더 좋은 방법이 있습니까?
음수 오프셋을 사용해야하는 이유가 확실하지 않은 경우 ASC에서 DESC로 순서를 바꿀 수 있습니까? – ajreal
그럼 같은 문제가 발생하지만 반대쪽에 있습니다. 플레이어가 리더 보드에서 순위가 345이고, 순위가 ORDER BY 점수에서 암시되어 업데이트되었습니다 (오래된 점수 우선 순위 지정). 그런 다음 345-9 - 345 + 9 행을 검색해야합니다. LIMIT 절을 사용하여이 작업을 수행하는 방법을 찾을 수없는 것 같습니다. 이제는 음수 오프셋이 필요한 정렬 방식이 중요합니다. – Ylisar