select max(val) filter(where descr = 'Date' ) val_date,
max(val) filter(where descr = 'Weeksgs') val_weeksgs
from (
select t.*, row_number() over(partition by descr order by id) rn
from mytable t
) t
group by rn
order by rn
注意:如果“Date”行 do 表示日期,您可能希望将它们转换为resultset中正确的数据类型;参见to_date()
1条答案
按热度按时间vlf7wbxs1#
您似乎想要“对齐”“日期”和“星期”行。假设你有一个列来排序你的记录,比如
id
,你可以用row_number()
枚举每个分区中的行,然后用条件聚合进行pivot:注意:如果“Date”行 do 表示日期,您可能希望将它们转换为resultset中正确的数据类型;参见
to_date()