SQL入门题解 | #统计每种性别的人数#

统计每种性别的人数

https://www.nowcoder.com/practice/f04189f92f8d4f6fa0f383d413af7cb8

# (1)SUBSTRING_INDEX的写法
SELECT SUBSTRING_INDEX(profile,",",-1) gender,COUNT(*) number
FROM user_submit 
GROUP BY gender;


# (2)LIKE的写法【mark一下,原来有IF(profile LIKE '%female','female','male') 这样的方式】
SELECT IF(profile LIKE '%female','female','male') gender,COUNT(*) number
FROM user_submit
GROUP BY gender;

# (3) IF 
select 
case
when profile like '%,male' then 'male'
when profile like '%,female' then 'female'
end gender,
count(device_id)
from user_submit
group by gender;

问题分解:

  • 限定条件:无;
  • 每个性别:按性别分组group by gender,但是没有gender字段,需要从profile字段截取,按字符,分割后取出即可。可使用substring_index函数可以按特定字符串截取源字符串。
  • substring_index(FIELD, sep, n)可以将字段FIELD按照sep分隔:
  • (1).当n大于0时取第n个分隔符(n从1开始)左边的全部内容;
  • (2).当n小于0时取倒数第n个分隔符(n从-1开始)右边的全部内容;
  • 因此,本题可以直接用substring_index(profile, ',', -1)取出性别。
  • 附:substring_index函数解析https://zhuanlan.zhihu.com/p/109778760
  • 多少参赛者:计数统计,count(device_id)
SQL错题 文章被收录于专栏

每天学习一遍 刷题刷题 越刷越强!

全部评论

相关推荐

在笔试的大西瓜很矫健:校招数分不用想了,这经历和学历都不够用,大厂更别想,初筛都过不了,说点不好听的小厂数分都进不去(小厂也是假数分),要两个对口实习+3个项目(或者3+2),而且要有含金量才能补一点你的学历劣势。 建议刷实习,社招找数分,校招看运气,能入行业就行,可以运营转数分
点赞 评论 收藏
分享
03-06 20:09
贵州大学 Java
King987:你这个学历找个中大厂刷实习经历都是可以的,但是项目要有亮点才行,这个什么外卖就不要做了,去找找最新的项目,至少涉及高并发或者是新型的AI技术mcp rag啥的 ,我在出简历点评,但是你这个没什么好点评的,内容太少,而且含金量太低。自己改一改吧,或者看一下我的项目地址中,那里有大厂最近做过的实习项目
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务