爲了測試目的,我需要編寫一個SQL查詢,其中包含 實際記錄編號作爲結果集中的一列。如果我的SELECT得到 帶有10條記錄作爲結果,我需要有一列 其中包含值1-10。(Postgress)記錄集中的實際記錄編號
有沒有一種方法可以實現這個沒有存儲過程通過 我的數據?
編輯:我需要這postgresql。
爲了測試目的,我需要編寫一個SQL查詢,其中包含 實際記錄編號作爲結果集中的一列。如果我的SELECT得到 帶有10條記錄作爲結果,我需要有一列 其中包含值1-10。(Postgress)記錄集中的實際記錄編號
有沒有一種方法可以實現這個沒有存儲過程通過 我的數據?
編輯:我需要這postgresql。
對於postgresql請參閱: Simulating Row Number in PostgreSQL Pre 8.4
看一看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)
這個解決方案的好處是它可以用於任何寫入ISO SQL:2003標準的RDBMS。 – 2009-09-09 14:34:37
如果您使用的是8.4,則可以使用window functions(row_number())。
thx,知道這個。只是希望有一個更簡單的方法。反正。 – KB22 2009-09-09 14:36:34
我也問了一個問題,我自己回答:http://stackoverflow.com/questions/3397121/how-to-show-row-numbers-in-postgresql-query - 兩個答案爲9.0和8.4,略有不同從那篇文章 – vol7ron 2011-09-02 16:57:48