kes*_*sm0 4 php mysql group-by function
我想在我的网站上显示用户统计信息,返回年龄组的百分比,例如:
-13 years : $percent %
13-15 years : $percent %
15-20 years : $percent %
23+ : $percent %
Run Code Online (Sandbox Code Playgroud)
在我的 mysql 表中,我有一列birth_date 返回数据时间(yyyy-mm-dd)。
您有这样做的提示或想法吗?
纯SQL:
SELECT
`group`,
COUNT(*) as `count`
FROM
`user`
INNER JOIN (
SELECT
0 as `start`, 12 as `end`, '0-12' as `group`
UNION ALL
SELECT
13, 14, '13-14'
UNION ALL
SELECT
15, 19, '15-19'
UNION ALL
SELECT
20, 150, '20+'
) `sub`
ON TIMESTAMPDIFF(YEAR, `birth_date`, NOW()) BETWEEN `start` AND `end`
GROUP BY `group` WITH ROLLUP;
Run Code Online (Sandbox Code Playgroud)
其他任何事情都可以通过计算PHP。