
根据时间进行降序查询,(其中时间都是一样的),这时候分页,会出现数据重复,其中表中数据肯定是不重复的。
1 zcmxw1 2019-08-17 05:54:33 +08:00 via Android sql 语句问题吧? |
2 wangsongyan 2019-08-17 07:02:32 +08:00 via iPhone limit,offset 没算对? |
3 yidinghe 2019-08-17 07:23:18 +08:00 via Android 跟排序没关系,查询本身的问题 |
4 PHPJit 2019-08-17 08:22:13 +08:00 via Android 当你点击下一页的时候,这个时候有新数据进来了。 |
5 twocold0451 2019-08-17 08:33:27 +08:00 via Android 再加个其他排序条件,Oracle 遇到过这个问题 |
6 xuanbg 2019-08-17 08:38:47 +08:00 4 楼正解,需要额外的条件才能避免这个问题 |
7 ilovetm 2019-08-17 08:43:25 +08:00 via iPhone order by 应该使用多个字段,确认唯一性 |
8 dgjungle 2019-08-17 08:44:59 +08:00 group by 也可以保证唯一性呀 |
9 lxy42 2019-08-17 11:00:26 +08:00 via Android 当排序字段有重复值时,顺序是不确定的。 |
10 cyssxt 2019-08-17 11:13:27 +08:00 via iPhone 这个肯定是 sql 的问题,查一下关联表 join 之类的逻辑 |
11 xujif 2019-08-17 12:13:52 +08:00 via iPhone 信息流应用很少用传统的 page 分页,用递增 id 排序。 |
12 hhyvs111 2019-08-17 13:49:43 +08:00 可能这个时候被删了一些数据,然后分页计算失误 |
13 pussy2019 2019-08-17 13:57:11 +08:00 ORDER BY `created_at` ASC,`id` ASC |
14 reus 2019-08-17 13:59:18 +08:00 既然时间一样,那对时间排序,就等于没有排序,顺序就可以认为是随机的,分页当然不能正确了 应该有一个兜底的排序字段,一般都是用唯一字段,例如自增 id |
15 mmdsun 2019-08-17 14:50:31 +08:00 via Android MySQL oder by 与 limit 合用会出现这个问题。 |
16 waytodelay 2019-08-17 17:06:50 +08:00 via Android mysql 遇到和你一模一样的问题,排序字段只有时间而且时间有超过分页参数的重复,分页就出问题了,这时加个 id 排序就不会出问题了 |