正在读取本机记录…
拓展数据分析◷ 55 分钟

SQL 查询、筛选、排序、聚合与关联

用基础 SQL 回答真实产品问题。

学完你能做到
  • 用自己的话解释“SQL 查询、筛选、排序、聚合与关联”及其核心术语。
  • 在真实 AI 产品场景中识别何时应该使用本课方法。
  • 完成一份可沉淀进“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务的实践产出。
前置与关联课程

完成阶段 2 的能力检查,或先预览相关基础课

01

REAL SCENE

先从一个真实场景开始

!

运营问“上周完成核心课但测验未达 80% 的用户有多少,按阶段排序,并列出用户最近一次成绩”。这不是一个现成指标按钮,需要把业务问题拆成表、筛选、关联、分组和排序,才能知道结果是否可信。

02

PLAIN EXPLANATION

说人话:它到底是什么?

SQL 是关系型数据库的查询语言。SELECT 选择字段,FROM 指定数据源,WHERE 筛选记录,ORDER BY 排序,GROUP BY 与聚合函数计算分组指标,JOIN 按键关联多张表。产品经理无需背完语法,但要先定义一行代表什么、时间和状态口径是什么,再检查重复关联、空值与分母,否则能运行的 SQL 也可能回答错问题。

01

筛选与排序

查询先明确目标记录和字段,再使用 WHERE 表达时间、状态和范围。时间边界最好采用左闭右开,避免日期末尾与时区歧义;排序必须指定同值时的稳定次序。

  • 只选择分析所需字段
  • 字符串、数字和时间类型匹配
  • 限制结果量避免误拉全表
02

聚合与分母

COUNT、SUM、AVG 等在 GROUP BY 后按维度计算。人数常需去重计数,平均值要说明是否排除空值;转化率的分子和分母必须属于同一用户群和观察窗口。

  • 先检查明细再聚合
  • 区分记录数与用户数
  • 同时输出分子分母便于核验
03

JOIN 与重复放大

JOIN 通过主外键关联表,INNER JOIN 只保留匹配记录,LEFT JOIN 保留左表全量。一对多关联会增加行数,若直接求和可能重复放大,需先聚合或选择唯一记录。

  • 写明连接键与关系基数
  • 检查关联前后行数变化
  • 最近一条记录用窗口或子查询确定
01

先写业务口径和结果粒度,再写 SQL 语法。

02

聚合同时检查去重、空值、分子分母和时间窗口。

03

任何 JOIN 都先确认关系基数与行数是否被放大。

03

KEY POINT

这节课最重要的结论

核心重点
产品经理不必背语法,但要能把业务问题拆成数据表、条件和指标。
为什么重要
这决定了听懂工程语言、阅读接口和数据库方案,并判断技术取舍时,团队是否拥有一致、可验证的判断标准。
适用边界
当问题目标、数据来源或失败成本发生变化时,不要机械套用;先重新确认假设和风险等级。
04

EXAMPLES

正确案例与常见反例

✓ 正确做法

分析先定义用户粒度、北京时间上周、核心课程完成且最近测验低于 80%。先从尝试表按用户和课程取最近记录,再与课程表按 course_id 关联并筛 core,最后按阶段分组去重人数,同时输出明细样本核验。

× 常见误区

直接把用户、课程、进度和所有测验尝试四表关联后 COUNT(*),一个用户的五次答题被算成五人;WHERE 使用模糊日期字符串,未处理时区与空成绩,结果看似精确却无法回答原问题。

和工程师这样沟通

“先确认结果粒度是用户还是用户课程。测验取观察窗口内最近一次,不是所有尝试;课程按稳定 ID 关联并筛 priority=core。请同时返回去重用户数、分子明细和关联前后行数,便于验证重复放大。”

05

HANDS-ON

必做实操任务

本节产出:“系统关系图、一次 API 调用与基础 SQL 练习”阶段任务中的《SQL 查询、筛选、排序、聚合与关联》一页实践卡

  1. 步骤 1把一个产品分析问题写成对象、粒度、时间、筛选、指标和维度口径。

  2. 步骤 2用 SELECT、WHERE 与 ORDER BY 查询课程并验证边界日期和稳定排序。

  3. 步骤 3按阶段 GROUP BY 计算课程数与完成人数,同时输出分子分母。

  4. 步骤 4关联用户、进度和测验表,检查 JOIN 前后行数并修复重复统计。

○
实践完成度 0/4

实践结果会自动保存在本机,并进入项目工坊的任务来源。

产品 SQL 拆解单业务问题:____ 决策用途:____ 结果粒度:每行代表____ 数据表与别名:____ SELECT 字段:____ WHERE 条件:状态____ 时间____ 时区____ 其他____ GROUP BY 维度:____ 聚合:分子____ 分母____ 去重键____ 空值____ JOIN:左表____ 右表____ 键____ 基数____ 关联前行数____ 关联后行数____ 排序与限制:____ 明细抽样核验:____ 隐私最小化:____
06

CHECKLIST

产品经理工作检查表

07

MASTERY QUIZ

掌握测验

达到 60% 即可完成本课。

1统计完成课程的用户数时为何常用去重计数?
2LEFT JOIN 的典型特点是什么?
3一对多 JOIN 后直接 SUM 的主要风险是什么?
08

INTERVIEW

常见面试题

你如何保证一个产品 SQL 查询回答的是正确业务问题?
展开参考回答

先定义决策目的、结果粒度、时间时区、状态、去重和空值,再映射到表和字段;从明细筛选开始,聚合时同时看分子分母,JOIN 前明确键与基数并比较行数。最后抽样核对真实用户记录、检查边界和敏感数据,而不是以 SQL 能运行作为正确标准。

09

RECAP & FURTHER READING

重点回顾、延伸阅读与下一步

一句话回顾产品经理不必背语法,但要能把业务问题拆成数据表、条件和指标。
  1. 1

    围绕“SQL 查询、筛选、排序、聚合与关联”继续阅读:选择一份真实指标或实验分析案例,检查口径、样本、偏差、因果假设与护栏指标。

  2. 2

    用“SQL、聚合、JOIN”作为检索词,分别写下一条定义、一条适用边界和一个反例。

  3. 3

    对照本课正确案例与反例,寻找一个公开案例并记录其中可复用的判断与不能照搬的条件。