SQL 面试题之行列转置

1. 题目

SQL 面试题之行列转置

2. 思路分析

  1. 从结果来看,结果要求按照人,这时候很自然就是group by
  2. group by之后,使用聚合函数将分数取出来,这时候需要判断科目取分数,case when,使用if 嵌套也可以,但会复杂起来

3. 扩展

  1. 使用collect concat可以将数据搜集起来
  2. 使用explode,使用字符串切割可以将字符串炸开。
  3. 灵活运用上述操作,可以带来很灵活的行列数据转换。

相关文章: