题解 | #统计每种性别的人数# substring_
统计每种性别的人数
https://www.nowcoder.com/practice/f04189f92f8d4f6fa0f383d413af7cb8
正确题解1:
select case when substring_index(profile,',',-1) ='male' then 'male' when substring_index(profile,',',-1) ='female' then 'female' end as gender, count(device_id) as number from user_submit group by gender
🌟substring_index()函数的关键用法:
- 如果count是正数,那么就是从左往右数,第N个分隔符的左边的所有内容
- 如果count是负数,那么就是从右往左数,第N个分隔符的右边的所有内容
所以只能填-1,不能填4,因为没有第4个分隔符
正确题解2:
select case when profile like '%female%' then 'female' #由于female也包含male,所以先匹配female就不会查到male else 'male' end as gender, count(device_id) as number from user_submit group by gender
由于female和male中都包含male,所以要注意模糊处理,本题不建议使用like法。
#sql练习日常#