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

时间:2009-09-09 14:26:44

标签: sql postgresql

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

有没有办法在没有存储过程的情况下实现此目的 我的数据?

我需要在PostgreSQL上使用它。

3 个答案:

答案 0 :(得分: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;

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

答案 1 :(得分:5)

查看ROW_NUMBER()(SQL Server 2005及更高版本)

答案 2 :(得分:2)

如果您使用的是8.4,则可以使用window functions(确切地说是row_number())。

如果你在8.4之前,你可以在described上使用我blog的技术。