(PostgreSQL)记录集中的实际记录号

KB2*_*B22 2 sql postgresql

为了测试目的,我需要编写一个SQL查询,其中包含实际记录号作为结果集中的列.如果我的SELECT返回给我10个记录作为结果,我需要有一个包含值1-10的列.

有没有办法在没有存储过程的情况下通过我的数据来实现这一点?

我在PostgreSQL上需要这个.

Jas*_*win 7

您可以对数据进行分区并获取row_number()

例如:

SELECT FirstName, LastName, SalesYTD, PostalCode, 
       ROW_NUMBER() OVER(ORDER BY SalesYTD DESC) AS 'Row Number'
FROM Sales.vSalesPerson
WHERE TerritoryName IS NOT NULL AND SalesYTD <> 0;
Run Code Online (Sandbox Code Playgroud)

请参阅以下内容: ROW_NUMBER(Transact-SQL)


Cad*_*oux 5

看看ROW_NUMBER()(SQL Server 2005及以上版本)