我的表中有此类数据
行号 | 价格 € |
---|---|
01 | 100.00 |
02 | 200.00 |
01 | 10.34 |
01 | 311.12 |
01 | 14.33 |
02 | 36.44 |
03 | 89.70 |
04 | 11.33 |
我希望我的输出是这样的
文档 | 行号 | 价格 € |
---|---|---|
1 | 01 | 100 |
1 | 02 | 200.00 |
2 | 01 | 10.34 |
3 | 01 | 311.12 |
4 | 01 | 14.33 |
4 | 02 | 36.44 |
4 | 03 | 89.70 |
4 | 04 | 11.33 |
它的发票数据以及每行具有 lineid='01' 的数据意味着该信息适用于不同的发票,因此我必须使用新的 documentID 对其进行标记,我希望您帮助我使用命令创建它。< /p>
这可能很简单,但我在这里像疯子一样搜索,但找不到解决方案。
编辑:是的,我想要的是“每次 lineid 等于 01 时递增 docid”
P粉6484692852024-04-03 09:50:47
您可以使用如下所示的运行计数(假设这是您正在谈论的 MS SQL)
SELECT ROW_NUMBER() over(partition by [LineId] order by [LineId]) as DocId, [LineId], [Price] FROM [StackOverflow].[dbo].[RunningCount] order by [LineId]