题解 | #某乎问答单日回答问题数大于等于3个的所有用户#
某乎问答单日回答问题数大于等于3个的所有用户
http://www.nowcoder.com/practice/821e5072663f485f8204cf03b89d322a
SELECT DISTINCT a.answer_date, b.author_id, b.answer_cnt FROM answer_tb a JOIN ( SELECT DAY(answer_date) day, author_id, COUNT(issue_id) answer_cnt FROM answer_tb WHERE DATE_FORMAT(answer_date, "%Y%m") = "202111" GROUP BY DAY(answer_date), author_id ) b ON b.day = DAY(a.answer_date) AND b.author_id = a.author_id WHERE b.answer_cnt >= 3 ORDER BY a.answer_date, b.author_id# DISTINCT a.answer_date 之后,a表只拿出一个日期date去跟b表连接,
# b表本来就是以author分组的,所以只有当同一个日期下,author有多个时,日期date才会重复出现
题目很奇怪的一点:
# "回答问题数", 却是“提供的答案数”,也就是说包括了一道问题重复回答