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
------解决方案--------------------