Menu
CoddyTech

PARTITION 与 ORDER

本课属于 Coddy SQL 学习旅程的“基础知识”单元。第 60 课,共 72 课。

我们还可以将 PARTITION BY 和 ORDER BY 组合使用。例如,考虑以下 table1:

idtype
132t1
52t2
92t1
154t3
198t1
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

这会按每种类型的 id 升序为行编号:

idtyperow_num
132t12
52t21
92t11
154t31
198t13

现在,id 132 的 row_num 是 2,因为它比 92 大,比 198 小(在所有类型为 t1 的行中)。

challenge icon

挑战

简单

可用的表和列:

  • doors: id, publication_year
  • doors_specs: id, country, color

编写一个 SQL 查询,分析每个国家的门颜色序列,并按出版年份排序。对于每个门空间,显示:

  • 国家
  • 颜色
  • 出版年份
  • 一个表示每个国家内颜色顺序的数字,顺序依据出版年份确定。将此列命名为 color_sequence_number

亲手试试

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: SQL 在线编辑器