我在postgresql-9.3中有一个表,其中包含一个整数数组列。我需要修剪数组,以使元素从数组的末尾开始递增。
数组示例:{2,6,8,3,4,5,8,9,11,3,5,7}
修剪:{3,5,7}
代码不需要很快或者很漂亮,它只需要运行一次就可以修复一些坏数据。
发布于 2016-11-10 17:54:13
我并不期望能做到,但我确实自己解决了:
select arr[(select coalesce(max(row_number)+1,1) from (
select unnest, lead(unnest) over(), row_number() over () from (
select unnest(arr) from test where id=c.id
) as a
) as b where unnest>lead):array_upper(arr,1)]
from test as c;https://stackoverflow.com/questions/40524079
复制相似问题