(PostgreSQL) фактический номер записи в наборе записей - PullRequest
2 голосов
/ 09 сентября 2009

Для целей тестирования мне нужно написать SQL-запрос, который содержит фактический номер записи в виде столбца в наборе результатов. Если мой SELECT получит вернемся ко мне с 10 записями в результате, мне нужно иметь один столбец который содержит значения 1-10.

Есть ли способ достичь этого без хранимой процедуры, проходящей через мои данные?

Мне нужно это на PostgreSQL.

Ответы [ 3 ]

7 голосов
/ 09 сентября 2009

Вы можете разбить ваши данные и получить 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)

5 голосов
/ 09 сентября 2009

Посмотрите на ROW_NUMBER () (SQL Server 2005 и выше)

2 голосов
/ 09 сентября 2009

Если вы используете 8.4, вы можете использовать оконные функции (row_number (), если быть точным).

Если вы работаете до 8.4, вы можете использовать технику, которую я описал некоторое время назад в моем блоге .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...