【难度】:简单
【场景】:每个级别的用户数量
【分类】:分组查询、条件函数
分析思路
难点:
1.统计用户数量不是用户数,一个不去重,一个去重
(1)统计某乎问答高质量的回答中用户属于1-2级、3-4级、5-6级的数量分别是多少,按数量降序排列
注:进入是增加一个在线人数,出去是减少一个在线人数
-
[条件]:回答字数大于等于100字
-
[使用]:case when
最终结果
select 查询结果 [等级;用户数量]
from 从哪张表中查询数据 [创作者信息表;创作者回答情况表]
where 查询条件 [回答字数大于等于100字]
group by 分组条件 [等级]
order by 对查询结果排序 [用户数量];
求解代码
方法一
case when
select
(case
when author_level between 1 and 2 then '1-2级'
when author_level between 3 and 4 then '3-4级'
else '5-6级'
end) as level_cut,
count(author_id) as num
from author_tb
join answer_tb using(author_id)
where char_len >= 100
group by level_cut
order by num desc