题解 | #某乎问答高质量的回答中用户属于各级别的数量#
某乎问答高质量的回答中用户属于各级别的数量
https://www.nowcoder.com/practice/69c85db3e59245efb7cee51996fe2273
select
case
when author_level = 1
or author_level = 2 then '1-2级'
when author_level = 3
or author_level = 4 then '3-4级'
when author_level = 5
or author_level = 6 then '5-6级'
else -1
end as level_cut,
count(concat (ans.author_id, ans.issue_id)) num
from
answer_tb ans
left join author_tb aut on ans.author_id = aut.author_id
where
char_len >= 100
group by
case
when author_level = 1
or author_level = 2 then '1-2级'
when author_level = 3
or author_level = 4 then '3-4级'
when author_level = 5
or author_level = 6 then '5-6级'
else -1
end
order by num desc
核心:
1. 使用case when给author的等级打上标签,分成1-2级,3-4级,5-6级;
2. answer表是事实表,author表是维度表,维度表左连接到事实表上,根据回答字数筛选出高质量回答;
3. 用打好的等级标签作为聚合依据,聚合答题数量(一个author_id加一个issue_id为一个answer)

海康威视公司福利 1149人发布

查看5道真题和解析