问题:不同功能的启动情况是怎样的?
分析思路如下:
- 第一步:构思最终数据
- 第二步:确定目标字段与目标数据表
- 第三步:搭建代码框架
- 第四步:撰写代码
第一步:构思最终数据
- 我们的任务是分析:
不同功能的启动情况怎么样? - 进一步展开,我们要分析的其实是:
不同功能,每一天,使用用户数是怎样的? -
通过展开,我们最终要得到的数据其实如下表所示:
第二步:确定目标字段与目标数据表
在这一步,我们将确定几个关键信息:
- 我们需要的数据字段为:m_date,m_function 和 COUNT(DISTINCT user_id)
-
所需的字段所在的表:功能表
第三步:搭建代码框架
根据我们所需要的最终结果,我们会对数据进行如下操作:
- 从功能表中查询数据
- 筛选出使用功能A/B/C的数据
- 将数据根据日期、功能进行聚合
- 将数据根据日期、功能进行排序
- 查询日期、功能、使用用户数
由此,可以搭建代码框架
SELECT
FROM
WHERE
GROUP BY
ORDER BY
第四步:撰写代码
SELECT m_date,m_function,COUNT(DISTINCT user_id)
FROM use_function_info
WHERE m_function IN ('function_a','function_b','function_c')
GROUP BY m_date,m_function
ORDER BY m_function,m_date;
运行结果
运行代码后,发现 function_b 的启动量有所下降。