我必须自定义SQL视图才能执行系统集成测试。一个表跟踪事务和每个事务的LINE ITEMS(例如,事务2有三个项目,因此有三个连续的行对应于相同的事务编号)我需要完成的是获取一个我跟踪的列对于每笔交易,该交易的项目数量始终为1。
例如,第一列为TransactionNumber
,第二列为DesiredOutput
:
1 1
1 2
2 1
2 2
2 3
3 1
4 1
4 2
... ETC
我知道如何在WHOLE表上对连续的行进行编号,但我找不到对此编号的任何引用,这取决于另一行的值。
答案 0 :(得分:2)
对于SQL Server 2005+和Oracle,您可以使用以下内容:
SELECT TransNumber, ROW_NUMBER() OVER(PARTITION BY Transnumber ORDER BY Something) [DESIRED COLUMN OUTPUT]
FROM YourTable