题解 | #某乎问答高质量的回答中用户属于各级别的数量#

某乎问答高质量的回答中用户属于各级别的数量

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)

全部评论

相关推荐

10-10 00:14
门头沟学院 Java
程序员小白条:20年架构师,无工资
点赞 评论 收藏
分享
09-13 17:25
亲切的00后在笔试:我也遇到了,所以我早他一步查看图片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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