Sql 行的顺序编号

Sql 行的顺序编号,sql,row,Sql,Row,我必须自定义SQL视图才能执行系统集成测试。一个表跟踪事务和每个事务的行项目(例如,事务2有三个项目,因此有三个连续行对应于相同的事务编号),我需要完成的是获得一个列,其中我跟踪该事务的项目数量,每次交易始终从1开始 例如,第一列是TransactionNumber,第二列是DesiredOutput: 1 1 1 2 2 1 2 2 2

我必须自定义SQL视图才能执行系统集成测试。一个表跟踪事务和每个事务的行项目(例如,事务2有三个项目,因此有三个连续行对应于相同的事务编号),我需要完成的是获得一个列,其中我跟踪该事务的项目数量,每次交易始终从1开始

例如,第一列是
TransactionNumber
,第二列是
DesiredOutput

1                    1
1                    2
2                    1
2                    2
2                    3
3                    1
4                    1
4                    2
等等


我知道如何对整个表中的连续行进行编号,但我找不到任何依赖于另一行上的值的编号参考

对于SQL Server 2005+和Oracle,您可以使用以下内容:

SELECT TransNumber, ROW_NUMBER() OVER(PARTITION BY Transnumber ORDER BY Something) [DESIRED COLUMN OUTPUT]
FROM YourTable

请添加您当前的查询,以便我们可以从那里开始什么样的sql?mysql?mssql?其他?数据库的类型和版本号(如:oracle 8.4、mysql 5等)是什么数据库系统,哪个版本??SQL只是结构化查询语言-一种被许多数据库系统使用的语言-SQL不是数据库产品。。。像这样的东西通常是特定于供应商的-所以我们真的需要知道您使用的是什么数据库系统…谢谢Lamak,我会在系统准备好测试后立即尝试。工作起来很有魅力!非常感谢。