题解 | #统计每种性别的人数#
统计每种性别的人数
https://www.nowcoder.com/practice/f04189f92f8d4f6fa0f383d413af7cb8
WITH RECURSIVE
cte AS (
SELECT
device_id,
SUBSTRING_INDEX (profile, ',', 1) AS part,
SUBSTRING(profile, INSTR (profile, ',') + 1) AS remaining_string,
1 AS level
FROM
user_submit
WHERE
profile IS NOT NULL
AND profile <> ''
UNION ALL
SELECT
device_id,
SUBSTRING_INDEX (remaining_string, ',', 1) AS part,
IF (
INSTR (remaining_string, ',') > 0,
SUBSTRING(
remaining_string,
INSTR (remaining_string, ',') + 1
),
''
) AS remaining_string,
level + 1
FROM
cte
WHERE
remaining_string IS NOT NULL
AND remaining_string <> ''
)
SELECT
part AS gender,
COUNT(*)
FROM
cte
WHERE
part IN ('male', 'female')
GROUP BY
gender;

查看15道真题和解析