(Postgress)记录集中的实际记录编号

(Postgress)记录集中的实际记录编号

问题描述:

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

有没有一种方法可以实现这个没有存储过程通过 我的数据?

编辑:我需要这postgresql。

对于postgresql请参阅: Simulating Row Number in PostgreSQL Pre 8.4

+0

thx,知道这个。只是希望有一个更简单的方法。反正。 – KB22 2009-09-09 14:36:34

+0

我也问了一个问题,我自己回答:http://*.com/questions/3397121/how-to-show-row-numbers-in-postgresql-query - 两个答案为9.0和8.4,略有不同从那篇文章 – vol7ron 2011-09-02 16:57:48

看一看ROW_NUMBER()(SQL Server 2005和以上)

你可以分割你的数据,并获得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)

+0

这个解决方案的好处是它可以用于任何写入ISO SQL:2003标准的RDBMS。 – 2009-09-09 14:34:37

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

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