Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何对行进行分组并生成另一列_Postgresql - Fatal编程技术网

Postgresql 如何对行进行分组并生成另一列

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'

我有下面的示例表。 一个组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' 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