SELECT
start_month,
COUNT(DISTINCT uid) AS mau,
SUM(IF(rk=1,1,0)) AS month_add_uv,
MAX(SUM(IF(rk=1,1,0))) OVER(ORDER BY start_month) AS max_month_add_uv,
SUM(SUM(IF(rk=1,1,0))) OVER(ORDER BY start_month) AS cum_sum_uv
FROM(
SELECT
uid,
DATE_FORMAT(start_time,'%Y%m') start_month,
ROW_NUMBER() OVER(PARTITION BY uid ORDER BY DATE_FORMAT(start_time,'%Y%m')) rk
FROM
exam_record
)t
GROUP BY
start_month
ORDER BY
start_month

京公网安备 11010502036488号