我在 PostgreSQL 数据库中有下表
我想要一个可以产生以下结果的查询。
谢谢
使用条件聚合。
SELECT record_id,
max(case when node = 'A' then state end) as A,
max(case when node = 'B' then state end) as B,
max(case when node = 'C' then state end) as C
FROM table1
group by record_id
order by record_id;
或者
SELECT record_id,
min(case when node = 'A' then state end) as A,
min(case when node = 'B' then state end) as B,
min(case when node = 'C' then state end) as C
FROM table1
group by record_id
order by record_id;
结果:
record_id a b c
----------------------
1000000 CC CC CC
1000001 CC CC CC
1000002 CC CC CC
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句