如何在 POSTGRESQL 的新行中重复获取列值

How to get column values repeated in new rows in POSTGRESQL

我有一个 table 列如下所示

A B C D E F G H

其中 A B 是名称,C D E F G H 是度量值

我想在 postgresql 中使用汇总函数获得以下内容。

A B C
A B D
A B E
A B F
A B G
A B H

table 本身很复杂,我必须让前七列出现在每一行中,然后其余 6 列应该一次只获得一个值,重复 6 次 + 在每一行中的七列值应该像上面给出的示例一样使用汇总函数与它们一起出现。

感谢您的帮助。

您可以使用 grouping sets:

select a, b, coalesce(c, d, e, f, g, h)
from t
group by grouping sets ( (a, b, c),
                         (a, b, d),
                         (a, b, e),
                         (a, b, f),
                         (a, b, g),
                         (a, b, h)
                       );