报表 动态列(mysql 行转列)

1.平常数据库表明细都是存的明细,比如这种:

需要转换成这种:

1.sql 查询如下:

SELECT student_name, GROUP_CONCAT(CONCAT(class_name,'_',score)) AS extInfo
        FROM t_student
        WHERE
        yn=1
        and <其他条件>
        GROUP BY student_name
        limit 0,100

结果如下:
user_name extInfo

王五 数学_76,语文_34,英语_89
李四 数学_45,语文_87,英语_45

解释:
extInfo字段就是动态生成的,可以在程序解析成列想,放入List中;
每一行一个List,整个数据结构可以为List<List>,进行业务遍历

备注:数据来源https://www.cnblogs.com/ken-jl/p/8570518.html

posted @ 2019-08-08 16:34  yizuoming  阅读(1972)  评论(0编辑  收藏  举报