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 年龄;
网友评论