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