gpt4 book ai didi

mysql - 分页时没有order列值?

转载 作者:行者123 更新时间:2023-11-30 00:53:13 26 4
gpt4 key购买 nike

我有一个如下表(在 MySQL 5 中创建):

文章:ID |观看次数 |标题

假设Id是自增的,View-Count是一个long表示浏览次数

如果我选择按 Id 排序的所有文章,那么很容易进行如下分页:

Select * from Article Where id < lastViewedArticleId Order By Id DESC Limit pageSize

但是,如果我按观看次数排序,我就无法像上面的查询那样进行排序,因为肯定有一些文章具有相同的观看次数,那么我会错过其中一些。目前,我必须这样做:(如果有数百万条记录,这是一个糟糕的解决方案)

Select * from Article Order By View-Count DESC Limit start, pageSize

有人有针对这种情况的解决方案吗?

最佳答案

为文章创建序列表并定期更新序列(cron)。然后对该页进行分页并用它来分解内容。

SELECT @sequence := 0;  

创建表 Article_sequence 选择 @sequence := 序列 +1 作为序列,article_id 来自文章 Order By View-Count DESC

然后从中进行分页。

每小时执行一次 Cron 作业。这样您就不会错过任何一个节拍。

关于mysql - 分页时没有order列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20798450/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com