mysql 将多行转换一行

在实际开发中,往往会碰到类似如下的例子
学生课程成绩表:

id user_id course_id score
1 1 1 80
2 1 2 90
3 1 3 78
4 2 1 80
5 2 2 85

现在需要你转换成如下的格式:
就是每个学生的成绩信息放在一行中全部显示,而不是用几条记录显示

id user_id 语文 数学 英语
1 1 80 90 78
2 2 80 82 0

上面就是所谓的将多行转换成一行显示。
下面举个例子:
现有表tb_pushlog_appid_today :
appid 是广告词,resultnum 返回类型 有4,15,99 等几个 返回类型,pushcount,是每个返回类型的次数
mysql 将多行转换一行
文章图片

【mysql 将多行转换一行】有如下数据:
mysql 将多行转换一行
文章图片


现在 需要将上面 resultnum in (99,15,4)的形式转换成 一列显示:
如下图:其中pushcount是resultnum=99的pushcount; clickcount是resultnum=15的pushcount,installcount是resultnum=4的pushcount
mysql 将多行转换一行
文章图片
mysql 将多行转换一行
文章图片




下面有两种方法:
方法1:mysql 将多行转换一行
文章图片



方法2:mysql 将多行转换一行
文章图片



推荐方法1:比较简单,查询速度快。

    推荐阅读