Postgresql 如何对行进行分组并生成另一列
我有下面的示例表。 一个组id正好有两个项,一个主项和一个父项Postgresql 如何对行进行分组并生成另一列,postgresql,Postgresql,我有下面的示例表。 一个组id正好有两个项,一个主项和一个父项 SELECT 'id1' as id, 'parent' as mode, '1' as group_id, 10 as value UNION ALL SELECT 'id2' as id, 'parent' as mode, '2' as group_id, 11 as value UNION ALL SELECT 'id3' as id, 'main' as mode, '1'
SELECT
'id1' as id,
'parent' as mode,
'1' as group_id,
10 as value
UNION ALL
SELECT
'id2' as id,
'parent' as mode,
'2' as group_id,
11 as value
UNION ALL
SELECT
'id3' as id,
'main' as mode,
'1' as group_id,
20 as value
UNION ALL
SELECT
'id4' as id,
'main' as mode,
'2' as group_id,
22 as value
我想要输出
parent_value | parent_id | main_value | main_id | group_id
10 id1 20 id3 1
11 id2 22 id4 2
我尝试过用以下方式思考,但无法成功地聚合
SELECT
-- I need parent value
-- I need main value
-- I need main id,
group_id
FROM (
...
) as a1 GROUP BY group_id