我意识到我可以在代码中做到这一点,但我很好奇除了您的查询匹配的结果之外,是否还有一种直接的 SQL 方法来选择(例如)10 个结果......
所以,假设我有一个所有球员都有分数的数据库,我想向用户展示分数落后于他们的 5 名球员和领先的 5 名球员......所以,我选择了他们的行,但现在我应该只使用或在 where 子句中并说类似...
select score as selectedScore from player_scores where playerId = xxxx
or (score > selectedScore - 5 and score < selectedScore + 5)
我意识到这意味着所有分数都是按确切顺序排列的,我会修改查询以从这些分数中提取 userId,所以这只是一个伪示例。
我怀疑这会起作用,但这是处理这个问题的正确方法吗?