【发布时间】:2015-11-27 09:55:55
【问题描述】:
假设您需要对numranges 的数组进行排序,例如按左边界降序排列。下面的方法是不是最简单的:unnest 将数组放入一个表,对表进行排序,array_agg 将它重新放入一个数组。这在代码中看起来如何?这是我的非工作尝试:
DO $$
DECLARE
x numrange[] := '{"[0, 3]", "[0, 1]", "[3, 5]", "[3, 8]"}';
BEGIN
x := (
WITH x AS (
SELECT xrow FROM unnest(x) AS xrow
)
SELECT array_agg(xrow) FROM x ORDER BY lower(xrow) DESC
);
RAISE NOTICE '%', x;
END;
$$;
【问题讨论】:
标签: arrays postgresql sorting sql-order-by aggregate-functions