12
返回列表 发新帖
楼主: 匿名
跳转到指定楼层
上一主题 下一主题
收起左侧

FB DS 新鲜面筋

🔗
Yutingchen1 2020-12-3 13:20:13 | 只看该作者
全局:
对于同一个用户, count sessionid 不是只有一个结果吗?为什么是c1.ranks=c2.ranks-1呢?
回复

使用道具 举报

🔗
icesample 2021-2-7 01:29:21 | 只看该作者
全局:
贴一个我的第二小题的sql, 欢迎指正
这样给出的结果是 1)每个user 平均间隔时间,如果要求所有的就再avg 一下; 2) 没有考虑时间段,如果是要昨天的就再加个where

SELECT userid, avg(interval) as avg_interval
FROM
(SELECT userid,
LEAD(session_start_time, 1) over(partition by userid order by session_start_time) - session_end_time as interval FROM app_session)t
WHERE interval is not null
GROUP BY userid
回复

使用道具 举报

🔗
wujiayikelly 2021-2-7 13:06:44 | 只看该作者
全局:
aza_spring 发表于 2020-12-3 13:09
这个写法的话 好像可以省略filter out只有单一session的user 因为在inner join的时候 找不到rank=2的就不 ...

这个是不是应该考虑null的情况?因为如果lead出来是null的话, avg会算上null
回复

使用道具 举报

🔗
aza_spring 2021-2-8 05:40:39 | 只看该作者
全局:
wujiayikelly 发表于 2021-2-7 13:06
这个是不是应该考虑null的情况?因为如果lead出来是null的话, avg会算上null

AVG是会ignore null哒
回复

使用道具 举报

🔗
wujiayikelly 2021-2-8 06:27:04 | 只看该作者
全局:
aza_spring 发表于 2021-2-8 05:40
AVG是会ignore null哒

谢谢!!因为我在有的地方看到只有COUNT会ignore nulls,那可能不同SQL有一点点区别。看来到时候要跟面试官确认一下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表