我在postgresql-9.3中有一个带有整数数组列的表。 我需要修剪数组,以便保持元素从数组末尾开始升序。
示例数组:{2,6,8,3,4,5,8,9,11,3,5,7}
修整:
{3,5,7}
代码不需要快速或漂亮,它会运行一次以修复一些不良数据。
答案 0 :(得分:0)
我没想到要管理,但我自己解决了这个问题:
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;