首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在数据库中使用行"trim“进行查询

在数据库中使用行"trim“进行查询
EN

Stack Overflow用户
提问于 2018-08-31 05:34:36
回答 1查看 23关注 0票数 1

在PostgreSQL中,有没有办法根据规则忽略末尾的行,并且不使用2个子查询就能获得良好的性能?

例如,我想通过忽略列表开头和末尾小于1的值来获取列表中的值:

代码语言:javascript
复制
ROWS:   0, 0.5, 0, 0.2, 0, 0.8, 1, 1.2, 1.3, 1, 0.9, 0, 0.2, 3, 2, 1, 0.9, 0.5, 0, 0.1, 0
SELECT: .......................[1, 1.2, 1.3, 1, 0.9, 0, 0.2, 3, 2, 1]....................

谢谢!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-31 05:43:35

你可以用不同的方式来表达。您希望第一个等于或大于1的值与最后一个这样的值之间的所有行。

假设您有一个对行进行排序的唯一id,您可以这样做:

代码语言:javascript
复制
select t.*
from (select t.*,
             min(id) filter (where value >= 1) over () as minid1,
             max(id) filter (where value >= 1) over () as maxid1
      from t
     ) t
where id >= minid1 and id <= maxid1;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52105664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档