V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
CaptainD
V2EX  ›  问与答

mysql 如何查询 top10 以外数据

  •  
  •   CaptainD · 2022-08-17 15:40:33 +08:00 · 999 次点击
    这是一个创建于 589 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好久不用 mysql 突然来个需求不会写了

    8 条回复    2022-08-17 19:28:52 +08:00
    luishou
        1
    luishou  
       2022-08-17 16:52:41 +08:00
    not in 应该能解决吧,子查询
    TimePPT
        2
    TimePPT  
       2022-08-17 16:56:00 +08:00
    rank 下,然后过滤?
    CaptainD
        3
    CaptainD  
    OP
       2022-08-17 17:13:39 +08:00
    @TimePPT @luishou 不是啥复杂条件,写了个 limit 10,XXX ,XXX 是很大的值
    blueorange
        4
    blueorange  
       2022-08-17 17:22:01 +08:00
    @luishou 子查询有点慢
    potatowish
        6
    potatowish  
       2022-08-17 17:26:41 +08:00 via iPhone
    select * from t1
    left join (select id, row_number() as rownum over (order by 排序字段 desc) from t)t2 on t2.id = t1.id
    where t2.rownum > 10;
    CaptainD
        7
    CaptainD  
    OP
       2022-08-17 18:07:11 +08:00
    @cslive 这个方式貌似只支持 sql server ?
    @potatowish 后来也想到这个方式了,不过就是麻烦点,貌似我的方式也没毛病?
    cslive
        8
    cslive  
       2022-08-17 19:28:52 +08:00 via Android
    @CaptainD mysql 支持,db2 支持,postgresql 支持,其它的没试过
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4416 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 10:10 · PVG 18:10 · LAX 03:10 · JFK 06:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.