行转列,列转行的代码是不是在tidb里面用不了?

建议用聚合函数和case函数替代写法:
SELECT
username,
SUM(CASE WHEN subject = ‘语文’ THEN score ELSE 0 END) AS “语文”,
SUM(CASE WHEN subject = ‘数学’ THEN score ELSE 0 END) AS “数学”,
SUM(CASE WHEN subject = ‘英语’ THEN score ELSE 0 END) AS “英语”,
SUM(CASE WHEN subject = ‘生物’ THEN score ELSE 0 END) AS “生物”
FROM scores
GROUP BY username;