题目要求
1. 按照’月份‘排序
select *,row_number() over (partition by continent order by name) rn from students;
2.行列转换,找出符合条件的一个人
select
min(
case when continent = '一月' then name else end) as 一月,
min(
case when continent = '二月' then name else null end) as 二月,
min(
case when continent = '三月' then name else null end) as 三月,
min(
case when continent = '四月' then name else null end) as 四月
from students;
3. 汇总集合
select
min(
case when continent = '一月' then name else null end) as 一月,
min(
case when continent = '二月' then name else null end) as 二月,
min(
case when continent = '三月' then name else null end) as 三月,
min(
case when continent = '四月' then name else null end) as 四月
from (
select *,row_number() over (partition by continent order by name) rn from students
) b
group by rn;