题解 | 统计每种性别的人数
统计每种性别的人数
https://www.nowcoder.com/practice/f04189f92f8d4f6fa0f383d413af7cb8
select substring_index(profile,',',-1) as gender, count(*) as number from user_submit group by gender
解题思路
为了从包含用户信息的 profile
字段中提取性别并进行分组统计,可以使用以下方法:
- 首先,利用字符串函数
SUBSTRING_INDEX
从profile
字段中提取性别信息,该字段格式为“身高,体重,年龄,性别”,通过获取最后一个逗号后的部分来提取性别。 - 接着,使用
GROUP BY
对提取出的性别进行分组,并结合COUNT(*)
函数统计每个性别的参赛者数量。 - 最后,将统计结果按照
gender|number
的格式输出。
代码解释
SELECT
子句:SUBSTRING_INDEX(profile, ',', -1) AS gender:SUBSTRING_INDEX 函数用于截取字符串。参数说明:profile:要处理的字符串字段。',':分隔符。-1:表示从字符串的右侧开始截取,第一个出现的分隔符后面的所有内容。该表达式提取出 profile 字段中最后一个逗号后的内容,即性别信息,并将其命名为 gender。COUNT(*) AS number:统计每个性别的参赛者数量,并将其命名为 number。