| 颜色|变体|| - ------|- ------|| 红色|勃艮第|| 红色|克里姆森|| 绿色|橄榄色|| 绿色|翡翠|如何查询上表:| 红色|绿色|| - ------|- ------|| 勃艮第|橄榄色|| 克里姆森|翡翠|到目前为止,我已经研究了枢轴,但我发现的大多数例子都与平均值和计数有关。你能告诉我我应该研究的任何资源吗?谢谢!
blpfk2vs1#
假设你有一个列可以用来对记录进行排序,比如id,你可以使用窗口函数来枚举每种颜色的行,然后使用条件聚合进行旋转:
id
select max(case when color = 'RED' then variant end) red, max(case when color = 'BLUE' then variant end) blue from ( select t.*, row_number() over(partition by color order by id) rn from mytable t ) t group by rn
1条答案
按热度按时间blpfk2vs1#
假设你有一个列可以用来对记录进行排序,比如
id
,你可以使用窗口函数来枚举每种颜色的行,然后使用条件聚合进行旋转: