Postgres запрос для объединения нескольких строк с одинаковым значением столбца в одну строку - PullRequest
0 голосов
/ 27 мая 2020

У меня есть эта таблица:

enter image description here

и я хотел бы преобразовать ее в следующее:

enter image description here

Пожалуйста, помогите мне, слишком долго застрял на нем. У меня не работает использование группы по

Ответы [ 2 ]

0 голосов
/ 27 мая 2020

Для этого набора данных простая агрегация будет делать то, что вы хотите:

select min(a) a, min(b) b, id
from mytable
group by id

Это использует тот факт, что агрегатные функции игнорируют null значения; мы могли бы получить тот же результат с max(), что и с min().

0 голосов
/ 27 мая 2020
WITH A as (SELECT id, a FROM XXX WHERE a is not null),
     B as (SELECT id, b FROM XXX WHERE b is not null)
SELECT A.a, B.b, A.id FROM A 
     INNER JOIN B on A.id = B.id;
...