行列转换1

SELECT 年龄,
MAX(IF(性别='男', v, 0)) AS 男,
MAX(IF(性别='女', v, 0)) AS 女
FROM (
SELECT 年龄, 性别, count(*) v FROM 用户明细 GROUP BY 年龄, 性别
) t GROUP BY 年龄;

行列未转换前:
SELECT 年龄, 性别, count() v FROM 用户明细 GROUP BY 年龄, 性别
行列转换后
SELECT 年龄,
MAX(IF(性别='男', v, 0)) AS 男,
MAX(IF(性别='女', v, 0)) AS 女
FROM (
SELECT 年龄, 性别, count(
) v FROM 用户明细 GROUP BY 年龄, 性别
) t GROUP BY 年龄;

可参考 https://mp.weixin.qq.com/s/6Kll4Q6Xp37i2PiLUh4cMA

你可能感兴趣的:(行列转换1)