题解 | #统计每种性别的人数# 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练习日常#
全部评论

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务