postgresql PSQL查询选择多个分组

41zrol4v  于 2023-06-22  发布在  PostgreSQL
关注(0)|答案(1)|浏览(135)

请帮助为postgresql创建正确的选择查询。我有一个表,里面有下一个数据:
| srv|表名|心跳|
| - -----|- -----|- -----|
| 服务器1|表1|十个|
| 服务器1|表2|七个|
| 服务器2|表1|十三个|
| 服务器2|表2|二十三|
| 服务器3|表1| 3|
| 服务器3|表2|十五|
我尝试创建一个选择查询,以返回下一个结果:
| 表名|服务器1|服务器2|服务器3|
| - -----|- -----|- -----|- -----|
| 表1|十个|十三个|3|
| 表2|七个|二十三|十五|
表名总是静态的(大约20个表名)。但服务器名称可以随时更改:添加或删除。

e7arh2l6

e7arh2l61#

这可以使用条件聚合来完成:

select table_name,
       max(case when srv = 'server1' then heartbeat end) as server1,
       max(case when srv = 'server2' then heartbeat end) as server2,
       max(case when srv = 'server3' then heartbeat end) as server3
from mytable
group by table_name

结果:
| 表名|服务器1|服务器2|服务器3|
| - -----|- -----|- -----|- -----|
| 表1|十个|十三个|3|
| 表2|七个|二十三|十五|
Demo here

相关问题