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

SQL order by 以后, 怎么做掐头去尾

  •  
  •   DinoStray · 2021-01-23 15:40:36 +08:00 · 1180 次点击
    这是一个创建于 1432 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想把第一个和最后一个元素去掉, 因为只是单纯用 sql 处理数据, 没有上层语言封装调用, 不知道怎么搞了

    第 1 条附言  ·  2021-01-23 16:16:21 +08:00
    是掐头去尾哈, 第一个和最后一个都去掉
    9 条回复    2021-01-23 18:45:59 +08:00
    mara1
        1
    mara1  
       2021-01-23 16:02:54 +08:00
    用变量存一下 搜出来了多少条, 然后 select limit offset 行不?
    DinoStray
        2
    DinoStray  
    OP
       2021-01-23 16:16:52 +08:00
    @mara1 这样只能去掉最后一条记录吧
    JJstyle
        3
    JJstyle  
       2021-01-23 16:23:54 +08:00 via iPhone
    select from(select from (select from...)))
    levelworm
        4
    levelworm  
       2021-01-23 16:50:32 +08:00 via Android
    也可以窗口函数写两列行数,一列正向一列反向,最后去掉两列中的 1
    notejava
        5
    notejava  
       2021-01-23 16:56:05 +08:00   ❤️ 1
    不考虑效率的话:
    select * from table where id not in ((select min(id) from table), (select max(id) from table))
    Dvel
        6
    Dvel  
       2021-01-23 17:23:12 +08:00
    ... limit 1 offset ((select count(*) from ...) - 2)
    jazzychai
        7
    jazzychai  
       2021-01-23 17:55:54 +08:00   ❤️ 1
    @Dvel 反了 大兄弟
    Dvel
        8
    Dvel  
       2021-01-23 18:00:49 +08:00
    @jazzychai #7 哈哈忘了
    ... limit 1, ((select count(*) from ...) - 2)
    DinoStray
        9
    DinoStray  
    OP
       2021-01-23 18:45:59 +08:00
    @notejava 爱死你了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2548 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:43 · PVG 23:43 · LAX 07:43 · JFK 10:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.