题目
- SQL32 截取出年龄
- 题目描述:现在运营举办了一场比赛,收到了一些参赛申请,表数据记录形式如下所示,现在运营想要统计每个年龄的用户分别有多少参赛者,请取出相应结果。
-
示例数据如下图:
-
返回结果:
分析
- 根据示例数据,我们需要提取出profile一列中的年龄,然后根据年龄进行分组统计。
- 提取年龄可以使用到上一篇提到的substring_index()函数,因为年龄处于字符串的中间,可以使用两次substring_index()提取,先提取出“年龄+性别”的字段,之后再提取年龄。即“ substring_index(substring_index(profile,',',-2),',',1)”。
- 代码如下:
select
substring_index(substring_index(profile,',',-2),',',1) age,
count(*) number
from
user_submit
group by
age