Mysql动态行转列
初始数据
期望数据
实现原理
动态拼接执行的SQL语句,先把要执行的语句拼在变量里,之后执行。
拼接的过程就是要动态找出数据里的所有列,然后拼成SQL
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'Max(IF(a.project = ''',
a.project,
''', a.score, 0)) AS ''',
a.project, ''''
)
) INTO @sql
FROM student
原创
2021-04-13 18:13:25 ·
261 阅读 ·
0 评论