2025年数据分析师高级面试及模拟题答案详解.docxVIP

  • 3
  • 0
  • 约4.38千字
  • 约 11页
  • 2026-05-07 发布于四川
  • 举报

2025年数据分析师高级面试及模拟题答案详解.docx

2025年数据分析师高级面试及模拟题答案详解

一、技术基础与工具应用

(1)请用SQL写出用户连续活跃天数的计算逻辑。假设表结构为user_log(user_id,log_date),要求输出user_id、连续活跃天数最大值。

解答:连续活跃天数的核心是识别连续日期的分组。可通过将log_date与row_number()提供的序号相减,相同差值的日期属于同一连续周期。具体步骤:

①对每个用户按日期排序,计算日期与行号的差值(日期转天数后相减);

②按user_id和差值分组,计算每组的记录数(即连续天数);

③取每个用户的最大连续天数。

示例代码:

WITHranked_logAS(

SELECTuser_id,log_date,

DATE(log_date)INTERVALROW_NUMBER()OVER(PARTITIONBYuser_idORDERBYlog_date)DAYASgrp

FROMuser_log

)

SELECTuser_id,MAX(continuous_days)ASmax_continuous_days

FROM(

SELECTuser_id,grp,COUNT()AScontinuous_days

FROMranked_lo

文档评论(0)

1亿VIP精品文档

相关文档