SQL 查询、筛选、排序、聚合与关联
用基础 SQL 回答真实产品问题。
- 用自己的话解释“SQL 查询、筛选、排序、聚合与关联”及其核心术语。
- 在真实 AI 产品场景中识别何时应该使用本课方法。
- 完成一份可沉淀进“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务的实践产出。
REAL SCENE
先从一个真实场景开始
运营问“上周完成核心课但测验未达 80% 的用户有多少,按阶段排序,并列出用户最近一次成绩”。这不是一个现成指标按钮,需要把业务问题拆成表、筛选、关联、分组和排序,才能知道结果是否可信。
PLAIN EXPLANATION
说人话:它到底是什么?
SQL 是关系型数据库的查询语言。SELECT 选择字段,FROM 指定数据源,WHERE 筛选记录,ORDER BY 排序,GROUP BY 与聚合函数计算分组指标,JOIN 按键关联多张表。产品经理无需背完语法,但要先定义一行代表什么、时间和状态口径是什么,再检查重复关联、空值与分母,否则能运行的 SQL 也可能回答错问题。
筛选与排序
查询先明确目标记录和字段,再使用 WHERE 表达时间、状态和范围。时间边界最好采用左闭右开,避免日期末尾与时区歧义;排序必须指定同值时的稳定次序。
- 只选择分析所需字段
- 字符串、数字和时间类型匹配
- 限制结果量避免误拉全表
聚合与分母
COUNT、SUM、AVG 等在 GROUP BY 后按维度计算。人数常需去重计数,平均值要说明是否排除空值;转化率的分子和分母必须属于同一用户群和观察窗口。
- 先检查明细再聚合
- 区分记录数与用户数
- 同时输出分子分母便于核验
JOIN 与重复放大
JOIN 通过主外键关联表,INNER JOIN 只保留匹配记录,LEFT JOIN 保留左表全量。一对多关联会增加行数,若直接求和可能重复放大,需先聚合或选择唯一记录。
- 写明连接键与关系基数
- 检查关联前后行数变化
- 最近一条记录用窗口或子查询确定
先写业务口径和结果粒度,再写 SQL 语法。
聚合同时检查去重、空值、分子分母和时间窗口。
任何 JOIN 都先确认关系基数与行数是否被放大。
KEY POINT
这节课最重要的结论
- 为什么重要
- 这决定了听懂工程语言、阅读接口和数据库方案,并判断技术取舍时,团队是否拥有一致、可验证的判断标准。
- 适用边界
- 当问题目标、数据来源或失败成本发生变化时,不要机械套用;先重新确认假设和风险等级。
EXAMPLES
正确案例与常见反例
分析先定义用户粒度、北京时间上周、核心课程完成且最近测验低于 80%。先从尝试表按用户和课程取最近记录,再与课程表按 course_id 关联并筛 core,最后按阶段分组去重人数,同时输出明细样本核验。
直接把用户、课程、进度和所有测验尝试四表关联后 COUNT(*),一个用户的五次答题被算成五人;WHERE 使用模糊日期字符串,未处理时区与空成绩,结果看似精确却无法回答原问题。
“先确认结果粒度是用户还是用户课程。测验取观察窗口内最近一次,不是所有尝试;课程按稳定 ID 关联并筛 priority=core。请同时返回去重用户数、分子明细和关联前后行数,便于验证重复放大。”
HANDS-ON
必做实操任务
本节产出:“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务中的《SQL 查询、筛选、排序、聚合与关联》一页实践卡
步骤 1把一个产品分析问题写成对象、粒度、时间、筛选、指标和维度口径。
步骤 2用 SELECT、WHERE 与 ORDER BY 查询课程并验证边界日期和稳定排序。
步骤 3按阶段 GROUP BY 计算课程数与完成人数,同时输出分子分母。
步骤 4关联用户、进度和测验表,检查 JOIN 前后行数并修复重复统计。
实践结果会自动保存在本机,并进入项目工坊的任务来源。
业务问题:____
决策用途:____
结果粒度:每行代表____
数据表与别名:____
SELECT 字段:____
WHERE 条件:状态____ 时间____ 时区____ 其他____
GROUP BY 维度:____
聚合:分子____ 分母____ 去重键____ 空值____
JOIN:左表____ 右表____ 键____ 基数____
关联前行数____ 关联后行数____
排序与限制:____
明细抽样核验:____
隐私最小化:____CHECKLIST
产品经理工作检查表
MASTERY QUIZ
掌握测验
达到 60% 即可完成本课。
INTERVIEW
常见面试题
展开参考回答
先定义决策目的、结果粒度、时间时区、状态、去重和空值,再映射到表和字段;从明细筛选开始,聚合时同时看分子分母,JOIN 前明确键与基数并比较行数。最后抽样核对真实用户记录、检查边界和敏感数据,而不是以 SQL 能运行作为正确标准。
RECAP & FURTHER READING
重点回顾、延伸阅读与下一步
- 1
围绕“SQL 查询、筛选、排序、聚合与关联”继续阅读:选择一份真实指标或实验分析案例,检查口径、样本、偏差、因果假设与护栏指标。
- 2
用“SQL、聚合、JOIN”作为检索词,分别写下一条定义、一条适用边界和一个反例。
- 3
对照本课正确案例与反例,寻找一个公开案例并记录其中可复用的判断与不能照搬的条件。