SQL 数据分析 · 指南 · 2026年10月30日 · 10 分钟阅读

数据分析师学习路线:学什么、按什么顺序学、需要多长时间

地图上一条蜿蜒的道路,沿途的里程碑分别是数据库、电子表格、图表和笔记本电脑

数据分析师的工作是用数据回答业务问题:有多少、多频繁、和什么比、为什么变了。需要的技能也由此而来。先学 SQL,因为几乎每个数据分析岗位都要从数据库里取数。然后是处理结果用的电子表格、让你不至于得出错误结论的统计学基础,以及展示发现用的 BI 或图表工具。Python 有用,但可以晚一点学。一路上,做一个小小的作品集,并准备面试;面试主要考 SQL,以及你如何分析一个业务问题。

需要多长时间,取决于你的起点和投入的时间,而不是课程的宣传。粗略地说,零基础、每天学一个小时左右的人,达到能投初级岗位的水平,通常需要六个月到一年。平时已经在 Excel 里和数字打交道的人往往更快;只有周末能学的人会慢一些。下面的时间都只是大致范围,不是承诺。

路线总览

阶段 学什么 每天约 1 小时的大致时间
1. SQL 基础 SELECT、WHERE、GROUP BY、JOIN、CASE、NULL 4–8 周
2. 电子表格 数据透视表、查找函数、图表、数据清洗 2–4 周(已经在用 Excel 的话更短)
3. 统计学基础 平均数与中位数、分布、百分比、A/B 测试的逻辑 4–6 周
4. 进阶 SQL 子查询、CTE、窗口函数、日期 4–8 周
5. BI 与可视化 一个工具(Power BI、Tableau 或 Looker Studio)、图表选择 3–6 周
6. 业务指标 漏斗、留存、同期群、收入指标 持续进行,与第 4–5 阶段同步
7. Python(一开始可选) pandas、notebook、基础绘图 6–10 周
8. 作品集与面试 2–4 个项目、SQL 题、案例题 4–8 周

各阶段会有重叠。你不必学完统计学才打开 BI 工具;你需要的是一直往前走,一直写查询。

第 1 阶段:SQL 基础(从这里开始)

SQL 排在第一位,有三个实际的理由。几乎每份数据分析师的职位描述里都有它。面试考得最直接的就是它,常常是现场做题。而且它学得快:分析师每天写的核心内容,就是那么几个子句。

按顺序要学的:

  1. SELECT 和 FROM:选列。
  2. WHERE:筛选,包括 IN、LIKE、BETWEEN 和 IS NULL。
  3. ORDER BY 和 LIMIT。
  4. 聚合函数:COUNT、SUM、AVG、MIN、MAX。
  5. GROUP BY 和 HAVING。
  6. JOIN,尤其是 INNER 和 LEFT 的区别,以及一行匹配到多行时会发生什么。
  7. 用于条件判断的 CASE。

这个阶段结束时,你应该不用查任何资料就能回答「每种状态各有多少个航班?」这样的问题:

SELECT status, COUNT(*) AS flights
FROM flights
GROUP BY status
ORDER BY flights DESC;
status flights
Arrived 16707
Scheduled 15383
On Time 518
Cancelled 414
Departed 58
Delayed 41

(本文的例子都在 Nomto SQL 课程的航空公司数据库上运行:2026 年夏季 104 个机场之间的 33,121 个航班。)

比语法更重要的习惯是:写查询之前,先弄清每张表的一行代表什么。大多数错误数字,都来自数的行并不是你以为的那种行。SQL 基础查询语句 一步步讲解了这个阶段的内容。

第 2 阶段:电子表格

你仍然会经常用 Excel 或 Google Sheets:查看查询结果、调整它、快速出图,或者发给不写 SQL 的人。要学数据透视表、查找函数(XLOOKUP 或 VLOOKUP)、条件公式(IF、SUMIFS、COUNTIFS)、基础图表和简单的清洗(去空格、拆分列、修正日期)。

如果你工作中已经在用 Excel,这个阶段可能只要几天而不是几周。它也会让 SQL 更好学:数据透视表就是 GROUP BY,查找函数就是 JOIN。SQL 和 Excel 的区别 把两者一一对应了起来。

第 3 阶段:统计学基础

你不需要统计学学位,只需要足以避开常见错误结论的知识:

比率一定要有明确的分母。下面是所有计划航班中被取消的比例:

SELECT ROUND(100.0 * COUNT(*) FILTER (WHERE status = 'Cancelled') / NULLIF(COUNT(*), 0), 2) AS cancelled_pct
FROM flights;
cancelled_pct
1.25

1.25% 是好是坏,取决于你拿它和什么比:上个月、另一条航线,还是目标值。做这个比较正是分析师的工作。

第 4 阶段:进阶 SQL

基础用熟之后,加上那些能把查询变成分析的工具:

这个阶段的典型查询,每日航班数加七日移动平均:

SELECT CAST(scheduled_departure AS DATE) AS day,
       COUNT(*) AS flights,
       ROUND(AVG(COUNT(*)) OVER (ORDER BY CAST(scheduled_departure AS DATE)
                                 ROWS BETWEEN 6 PRECEDING AND CURRENT ROW), 1) AS avg_7d
FROM flights
WHERE scheduled_departure >= '2026-08-01'
GROUP BY day
ORDER BY day
LIMIT 3;
day flights avg_7d
2026-08-01 568 568
2026-08-02 558 563
2026-08-03 536 554

大多数数据分析师面试都会考窗口函数,所以别跳过。从 SQL 窗口函数详解 开始,练习时把 SQL 速查表 开在旁边。

第 5 阶段:BI 与可视化

选一个 BI 工具好好学,而不是三个都浅尝辄止。Power BI、Tableau 和 Looker Studio 都很常见;看看你想去的地方,职位广告里出现的是哪个。概念是相通的:连接数据、做几张图、加筛选器、发布仪表板。

比工具更重要的是选对图表:随时间的变化用折线图,比较类别用柱状图,饼图超过三块就几乎不要用。一个仪表板应该为特定的人回答一个特定的问题,而不是把能衡量的东西全摆上去。

第 6 阶段:业务指标

这是分析师和「会 SQL 的人」的区别所在。学习常见指标是怎么定义和计算的,并亲手算一算:

这些要和第 4、5 阶段同步学,而不是学完再学:它们正是你将来写 SQL、做仪表板要回答的问题。

第 7 阶段:Python,晚点再学

Python 加 pandas 适合做 SQL 不擅长的事:复杂的数据清洗、统计检验、自动化报表、处理文件和 API。很多分析岗位都会列出它。但也有很多初级岗位主要用的是 SQL、电子表格和 BI;在还写不好 GROUP BY 和 JOIN 之前就学 Python,往往会拖慢进度。

学到这一步时,重点放在 pandas(加载、筛选、分组、合并)、Jupyter notebook 和基础绘图上。你会发现,大部分 pandas 操作都有一个你已经会的 SQL 对应写法。

第 8 阶段:作品集与面试准备

作品集

两到四个小而完整的项目,胜过十个做了一半的。一个好项目:

公开数据集或课程里的练习数据库都可以。审阅的人看重的是清晰的思路,而不是一个罕见的数据集。

面试

数据分析师面试通常包括:

计时练习 SQL 题,并且边做边说出思路。SQL 练习题 是一套不错的起点。

一开始可以跳过的

路上常见的错误

这周就开始

打开 Nomto 的 SQL 练习场,在航空公司数据库上运行你的第一个查询:什么都不用安装。课程从介绍数据开始,用一节节简短的课讲完基础,每节课都以自动检查的题目结束。大多数日子每天学一小时,比每周一次长时间学习走得更远。

常见问题

没有学位能当数据分析师吗?

很多人都做到了。不同雇主要求不同,但对分析岗位来说,你能展示出来的东西(SQL 能力、作品集、面试中清晰的思路)往往分量很重。有理工或数学类相关学位会有帮助,但不是唯一的路。

先学 SQL 还是先学 Python?

SQL。几乎每个分析岗位都用它,面试直接考它,而且你能更快地用它做出有用的东西。等你熟练掌握 JOIN、分组和窗口函数之后,再加上 Python。

成为数据分析师需要多长时间?

取决于你的背景和投入的时间。零基础、每天约一小时的话,六个月到一年达到能投初级岗位的水平,是一个现实的范围。之前用过 Excel 或做过与数字打交道的工作,会缩短这个时间。

数学需要很好吗?

你需要熟悉百分比、平均数、比率和基础统计,不需要高等数学。仔细思考一个数字意味着什么,比计算本身更重要。

应该学哪个 BI 工具?

看看你想工作的市场里的职位广告,选出现最多的那个。Power BI、Tableau 和 Looker Studio 都很常见,概念在它们之间是相通的。

其他语言: English, Español, Português (Brasil), Tiếng Việt