V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
flyme6
V2EX  ›  程序员

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

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

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

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

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