我正在嘗試按name
字段進行分組,但對於某行可能具有的其他值「合併聚合」。這裏的數據:合併postgres中的字段集合
name | jurisdiction | db_from
------------|-----------------|----------------
my station NULL 2017-06-21 8:01
my station my jurisdiction 2017-06-21 8:00
my station old data 2017-06-21 7:59
我想拉閘:
name | jurisdiction
------------|-----------------
my station my jurisdiction
這裏就是我想出來的:
WITH _stations AS (
SELECT * FROM config.stations x ORDER BY x.db_from DESC
)SELECT
x."name",
(array_remove(array_agg(x.jurisdiction), NULL))[1] as jurisdiction
FROM _stations x
GROUP BY
x."name";
一些jurisdiction
字段的值可能爲空,我試圖採取最新的不是null。
我知道我不應該依賴於CTE的順序,但它似乎現在工作。
是的,但我有多個字段我在實際生產使用情況下尋找。 –