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

2021-01-23 15:40:36 +08:00
 DinoStray

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

1109 次点击
所在节点    问与答
9 条回复
mara1
2021-01-23 16:02:54 +08:00
用变量存一下 搜出来了多少条, 然后 select limit offset 行不?
DinoStray
2021-01-23 16:16:52 +08:00
@mara1 这样只能去掉最后一条记录吧
JJstyle
2021-01-23 16:23:54 +08:00
select from(select from (select from...)))
levelworm
2021-01-23 16:50:32 +08:00
也可以窗口函数写两列行数,一列正向一列反向,最后去掉两列中的 1
notejava
2021-01-23 16:56:05 +08:00
不考虑效率的话:
select * from table where id not in ((select min(id) from table), (select max(id) from table))
Dvel
2021-01-23 17:23:12 +08:00
... limit 1 offset ((select count(*) from ...) - 2)
jazzychai
2021-01-23 17:55:54 +08:00
@Dvel 反了 大兄弟
Dvel
2021-01-23 18:00:49 +08:00
@jazzychai #7 哈哈忘了
... limit 1, ((select count(*) from ...) - 2)
DinoStray
2021-01-23 18:45:59 +08:00
@notejava 爱死你了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/747691

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX