从简单的SQL查询(问题)中获取的数据:
S
我想要如下输出:
Id comment
--------------------------------
1 approved
1 changed
1 hold
2 approved
3 changed
4 hold
我希望使用sql查询将ID 1的所有注释都排成一排
Id Comment Comment Comment
---------------------------------------------
1 approved Changed Hold
2 approved Null Null
3 Changed Null Null
4 hold Null Null
一个ID最多只能包含三个注释。
答案 0 :(得分:0)
您可以使用条件聚合:
select id,
max(case when seqnum = 1 then comment end) as comment_1,
max(case when seqnum = 2 then comment end) as comment_2,
max(case when seqnum = 3 then comment end) as comment_3
from (select t.*,
row_number() over (partition by id order by id) as seqnum
from t
) t
group by id;