详细内容或原文请订阅后点击阅览
FAANG 数据科学访谈中的热门 SQL 模式(带代码)
以下是 FAANG 数据科学访谈中测试的前 5 个 SQL 模式。
来源:KDnuggets# 简介
#FAANG 公司数据科学职位的技术筛选非常彻底。然而,即使他们也无法想出无穷无尽的独特面试问题。一旦你经历了足够多的磨难,你就会开始注意到一些 SQL 模式不断出现。
这里是前 5 个,带有用于练习的示例和代码 (PostgreSQL)。
掌握这些,您就可以为大多数 SQL 面试做好准备。
# 模式 #1:使用 GROUP BY 聚合数据
通过将聚合函数与 GROUP BY 结合使用,您可以聚合跨类别的指标。
分组依据
此模式通常与数据过滤结合使用,这意味着使用以下两个子句之一:
- WHERE:过滤聚合前的数据。HAVING:过滤聚合后的数据。
哪里
有
示例:此元面试问题要求您查找每个用户在 2020 年 2 月 10 日之前 30 天或更少天内发表的评论总数。没有评论的用户应该被排除在输出之外。
元面试问题我们使用带有 GROUP BY 子句的 SUM() 函数来对每个用户的评论数进行求和。只输出指定时间段内的评论是通过聚合前对数据进行过滤,即使用WHERE来实现的。无需计算“2020-02-10前30天”是哪个日期;我们只需使用 INTERVAL 日期函数从该日期减去 30 天。
SUM()
间隔
选择用户 ID, SUM(评论数) AS 评论数 来自 fb_comments_count WHERE create_at BETWEEN '2020-02-10'::DATE - 30 * INTERVAL '1 day' AND '2020-02-10'::DATE 按用户 ID 分组;
这是输出。
商业用途:
