sql - 如何在 POSTGRESQL 的新行中重复列值
问题描述
我有一个表,列如下
A B C D E F G H
其中 AB 是名称,CDEFGH 是度量值
我想在 postgresql 中使用汇总函数获得以下信息。
A B C
A B D
A B E
A B F
A B G
A B H
表本身很复杂,我必须让前七列出现在每一行中,然后其余 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)
);
推荐阅读
- webforms - 我可以在 ASP.NET 网络表单中的站点主控内有一个表单吗
- java - Java Socket 服务器在读取数据时挂起
- django - 在 Django 中使用 API 以及如何显示数据
- c# - 在没有 libusb 的情况下在 C# 中获取 USB 设备描述符?
- ssl - oauth2_proxy 不要求身份验证
- html - 如何在css中制作动态字体颜色
- javascript - 小屏幕的 HTML 高度/宽度属性覆盖
- sql - 计算其他列中 ID 的出现次数
- cassandra-3.0 - 在不提供主键的情况下查询表的最佳方式
- javascript - 如何上传 zip 多部分表单文件,将其提取并即时上传到 S3?