MS-SQL 同一类型自动编号 难题
我现在有这么一张表
例如:
Categroy(学科分类) Class(课程分类)Lesson(课程名称)
计算机 编程语言 c
计算机 编程语言 c++
计算机 编程语言 Java
计算机 数据库 SQL
计算机 数据库 Oracle
基础科目 数学 高等数学
基础科目 数学 离散数学
我最终想生成结果
ID Categroy Class Lesson
1 计算机 编程语言 c
2 计算机 编程语言 c++
3 计算机 编程语言 Java
1 计算机 数据库 SQL
2 计算机 数据库 Oracle
1 基础科目 数学 高等数学
2 基础科目 数学 离散数学
这里id是根据 Category 和class 来决定的,同一个种类的自动编号
这样的SQL应该如何写,求教。
------解决方案--------------------
SQL code
select
ID=row_number()over(partition by Categroy,Class order by (select 1)),
Categroy,
Class,
Lesson
from tb
------解决方案--------------------