题解 | #月总刷题数和日均刷题数#
月总刷题数和日均刷题数
https://www.nowcoder.com/practice/f6b4770f453d4163acc419e3d19e6746
SELECT IFNULL(t1,'2021汇总') AS submit_month,month_q_cnt,avg_day_q_cnt
FROM (
SELECT DATE_FORMAT(submit_time,'%Y%m') AS t1,COUNT(*) AS month_q_cnt,ROUND(COUNT(*)/MAX(DAY(LAST_DAY(submit_time))),3) AS avg_day_q_cnt
FROM practice_record
WHERE YEAR(submit_time)='2021'
GROUP BY t1
WITH ROLLUP) AS t;
因为用了WITH ROLLUP,所以MAX(DAY(LAST_DAY(submit_time))这里的MAX不能少。