题解 | #某乎问答单日回答问题数大于等于3个的所有用户#
某乎问答单日回答问题数大于等于3个的所有用户
http://www.nowcoder.com/practice/821e5072663f485f8204cf03b89d322a
主要信息
- answer_tb如下(其中answer_date表示创作日期、author_id指创作者编号、issue_id指回答问题编号、char_len表示回答字数);所有用户信息(author_date表示回答日期、author_id表示创作者id,answer_cnt表示回答问题个数),以上例子的输出结果如下
- 统计11月份单日回答问题数大于等于3个的用户信息
问题拆解
总体思路
- 11月份单日回答问题数,故需要对对用户和回答日期两个维度分组统计,先统计单日单用户回答数,过滤出相应条件的用户信息
具体实现
- 针对用户idauthor_id和回答日期answer_date同时分组统计回答数量count(*)
- 过滤大于等于三的量即使用having count(*) >3的语法
考点:group by having的使用
SELECT
answer_date,
author_id,
count(*) AS answer_cnt
FROM
answer_tb
GROUP BY answer_date, author_id
HAVING count(*) >= 3
ORDER BY answer_date, author_id;