题解 | 月总刷题数和日均刷题数
月总刷题数和日均刷题数
https://www.nowcoder.com/practice/f6b4770f453d4163acc419e3d19e6746
select date_format (submit_time, '%Y%m') as submit_month, count(question_id) as month_q_cnt, ( round( count(question_id) / max(day (last_day (submit_time))), 3 ) ) as avg_day_q_cnt from practice_record where date_format(submit_time, '%Y') = '2021' group by date_format (submit_time, '%Y%m') union select concat (submit_month, '汇总') as submit_month, month_q_cnt, avg_day_q_cnt from ( select date_format (submit_time, '%Y') as submit_month, count(question_id) as month_q_cnt, ( round( count(question_id) / max(day (last_day (submit_time))), 3 ) ) as avg_day_q_cnt from practice_record where date_format(submit_time, '%Y') = '2021' group by date_format (submit_time, '%Y') ) as temp order by submit_month
因为涉及到聚合函数,所以在实现汇总的时候,使用了子查询先把年度汇总的数据整合算好,然后再使用concat拼接一下