首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -按字段排序,从特定值开始

MySQL -按字段排序,从特定值开始
EN

Stack Overflow用户
提问于 2019-10-16 16:51:20
回答 1查看 73关注 0票数 0

我希望这是可能的。

我有张桌子:

我希望每5行解析它,并按分数排序,所以当我这样做时:

代码语言:javascript
复制
SELECT * FROM test ORDER BY score ASC LIMIT 5

结果是:

现在,假设有人用id 11 and score 2添加了一个新项目,然后我就添加了:

SELECT * FROM test ORDER BY score ASC LIMIT 5, 5

要获得剩余的行,我将再次接收id 7

我怎么才能防止这种情况?因此,在id 7之后获取其余的项

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-16 17:27:37

如果您使用ORDER BY score, id,那么您应该能够使用过滤代替。

代码语言:javascript
复制
SELECT * 
FROM test 
WHERE (score = lastScoredDisplayed AND id > lastIdDisplayed) -- Continue with last score
   OR score > lastScoreDisplayed -- continue on to next score
ORDER BY score, id
LIMIT 5;

其中lastScoreDisplayedlastIdDisplayed是上一次查询的最后一行的值。

这种技术甚至可以比LIMIT x, x技术更快;LIMIT x, x每次都必须对整个数据集进行排序,而这种技术最终得到的集合越小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58418180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档