【分类】:分组查询、字符串截取函数
分析思路
难点:
1.如何截取出性别的字段
如何截取出性别的字段
- [使用]:substring_index(按照分隔符截取子字符串)
- [使用]:like;因为性别只有2个数,不是 female 就是 male,相当于定值,如果是年龄这种连续的字段,是不定值,不能用like
扩展
前往查看:MySQL 字符串截取
最终结果
select 查询结果 [substring_index(字段) as 性别;count(设备ID) as 人数]
from 从哪张表中查询数据[user_submit]
group by 分组条件[性别]
求解代码
方法一:
使用 substring_index()
select
substring_index(profile, ',', -1) as gender,
count(device_id) as number
from user_submit
group by gender
方法二:
使用 if + like
select
if(profile like '%fe%', 'female','male') as gender,
count(device_id) as number
from user_submit
group by gender
方法三:
使用 case when + like
select
case
when profile like '%fe%' then 'female'
else 'male'
end as gender,
count(device_id) as number
from user_submit
group by gender