`max``---聚合函数 取最大值`
`(`case course when '语文' then score else 0 end ) ---判断`
` as 语文``---别名作为列名`
复盘一下前两天MySQL的一道笔试题。
建表语句为:
这是典型的行转列 *** 作。方法有以下两种:
注意:max() 是为了能够使用 group by 根据 id 进行分组,因为每一个 id 对应的course = '语文' 的记录只有一条,所以 max() 的值就等于对应那一条记录的 score 的值。 因此sum()、min()、avg()等聚合函数都可以达到行转列的效果。
若要实现对每一列也求和,可以使用with rollup直接生成结果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)