This topic created in 3151 days ago, the information mentioned may be changed or developed.
如果有 APP 调用后台的接口列表展示,按分页获取一次取 10 条。
然后接口里用 SQL 查询语句 limit index,10;
第一次取时 limit 0,10;
(此时新数据正好进来 10 条)
第二次取时 limit 10,10;
那么 APP 展示的第二次的列表数据岂不是一样的?
这种数据去重的话一般都是怎么来处理?
6 replies • 2017-10-05 19:49:29 +08:00
 |
|
1
phpcxy Oct 5, 2017 via Android
接口加个调用时间参数,查询加多个条件小于该时间
|
 |
|
3
Duolingo Oct 5, 2017 via iPhone
按 id 排序?
|
 |
|
4
acr0ss Oct 5, 2017 1
这个问题,得看你的数据库是怎么设计的。
1.如果有自增的 id 主键 每次查询把最后一个 id 带上。 where id > ${last_id} limit 10
2.如果没有自增 id ;且按照时间字段倒序。按照 1 楼所属 where modify_time < ${last_modify_time} limit 10
|
 |
|
5
mooncakejs Oct 5, 2017 via iPhone
时间不太靠谱,还是得靠 id,根据 row number 排序。
|
 |
|
6
icebay Oct 5, 2017
或者带上已推送的 ID ?
|