中等
技术面试0 次浏览

理想汽车的线上营销活动需要对用户的参与行为进行分析,以优化活动效果。假设你有一个包含用户参与活动记录的数据库表,表结构为(用户 ID,活动 ID,参与时间,参与行为类型)。请编写 SQL 查询,找出每个活动中参与行为类型最多样化的前 3 名用户。

SQL数据查询线上营销用户行为分析

答题要点

推荐答题框架:采用分步实现法,将复杂的查询拆分成多个步骤。关键要点如下:1. 分组统计:按活动 ID 和用户 ID 分组,统计每个用户在每个活动中的参与行为类型数量。2. 排名计算:为每个活动内的用户按参与行为类型数量进行排名。3. 筛选结果:筛选出每个活动中排名前 3 的用户。示例思路:首先,我会使用 GROUP BY 语句按活动 ID 和用户 ID 分组,计算每个用户的参与行为类型数量。然后,使用窗口函数为每个活动内的用户排名。最后,筛选出排名前 3 的用户。例如,对于活动 A,我会找出参与行为类型数量最多的前 3 名用户。具体 SQL 语句可以先使用子查询完成分组统计,再使用窗口函数进行排名,最后进行筛选。