• 请不要在回答技术问题时复制粘贴 AI 生成的内容
flyme6
V2EX  ›  程序员

mysql 查询条件降序,数据重复问题

  •  
  •   flyme6 · Aug 17, 2019 · 4445 views
    This topic created in 2638 days ago, the information mentioned may be changed or developed.

    根据时间进行降序查询,(其中时间都是一样的),这时候分页,会出现数据重复,其中表中数据肯定是不重复的。

    17 replies  •  2019-08-19 19:07:53 +08:00
    zcmxw1
    zcmxw1
    Aug 17, 2019 via Android
    1
    sql 语句问题吧?
    wa8n
    wa8n
    Aug 17, 2019 via iPhone
    2
    limit,offset 没算对?
    yidinghe
    yidinghe
    PRO
    Aug 17, 2019 via Android
    3
    跟排序没关系,查询本身的问题
    PHPJit
    PHPJit
    Aug 17, 2019 via Android❤️1
    4
    当你点击下一页的时候,这个时候有新数据进来了。
    twocold0451
    twocold0451
    Aug 17, 2019 via Android
    5
    再加个其他排序条件,Oracle 遇到过这个问题
    xuanbg
    xuanbg
    Aug 17, 2019
    6
    4 楼正解,需要额外的条件才能避免这个问题
    ilovetm
    ilovetm
    Aug 17, 2019 via iPhone❤️1
    7
    order by 应该使用多个字段,确认唯一性
    dgjungle
    dgjungle
    Aug 17, 2019
    8
    group by 也可以保证唯一性呀
    lxy42
    lxy42
    Aug 17, 2019 via Android
    9
    当排序字段有重复值时,顺序是不确定的。
    cyssxt
    cyssxt
    Aug 17, 2019 via iPhone
    10
    这个肯定是 sql 的问题,查一下关联表 join 之类的逻辑
    xujif
    xujif
    Aug 17, 2019 via iPhone
    11
    信息流应用很少用传统的 page 分页,用递增 id 排序。
    hhyvs111
    hhyvs111
    Aug 17, 2019
    12
    可能这个时候被删了一些数据,然后分页计算失误
    pussy2019
    pussy2019
    Aug 17, 2019❤️1
    13
    ORDER BY `created_at` ASC,`id` ASC
    reus
    reus
    Aug 17, 2019❤️1
    14
    既然时间一样,那对时间排序,就等于没有排序,顺序就可以认为是随机的,分页当然不能正确了

    应该有一个兜底的排序字段,一般都是用唯一字段,例如自增 id
    mmdsun
    mmdsun
    Aug 17, 2019 via Android
    15
    MySQL oder by 与 limit 合用会出现这个问题。
    waytodelay
    waytodelay
    Aug 17, 2019 via Android
    16
    mysql 遇到和你一模一样的问题,排序字段只有时间而且时间有超过分页参数的重复,分页就出问题了,这时加个 id 排序就不会出问题了
    flyme6
    flyme6
    OP
    Aug 19, 2019
    17
    @reus 有道理,多谢多谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1278 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 20:59 · PVG 04:59 · LAX 12:59 · JFK 15:59
    ♥ Do have faith in what you're doing.