想问个SQL问题 高手快来啊。。 就是我现在有一个表table1
单据号 日期 产品编码
1 11.1 a
1 11.2 a
1 11.3 b
2 11.1 a
2 11.2 c
3 11.1 b
4 11.1 c
5 11.1 a
5 11.2 c
5 11.3 b
6 11.1 a
然后我想增加一列叫做行号
就是如果单据号与上一个单据号相同
就+1
不同 就默认为1 这样子
应该怎么写啊?? ------最佳解决方案-------------------- select *,ROW_NUMBER() over(partition by 单据号 order by 单据号)
from table1 ------其他解决方案--------------------
单据号 行号 日期 产品编码
1 2 11.1 a
1 4 11.2 a
1 6 11.3 b
2 2 11.1 a
2 4 11.2 c
3 2 11.1 b
4 2 11.1 c
5 2 11.1 a
5 4 11.2 c
5 6 11.3 b
6 2 11.1 a
差不多可以理解为这样子?
这样子怎么解? ------其他解决方案-------------------- select *,rm*2 from(select *,ROW_NUMBER() over(partition by 单据号 order by 单据号) rm
from table1)
或者
select *,ROW_NUMBER() over(partition by 单据号 order by 单据号)+ROW_NUMBER() over