代码之家  ›  专栏  ›  技术社区  ›  KB22

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

  •  2
  • KB22  · 技术社区  · 15 年前

    为了进行测试,我需要编写一个SQL查询,其中包含 结果集中作为列的实际记录号。如果我的选择得到 给我10条记录,我需要一个专栏 其中包含值1-10。

    有没有一种方法可以在不使用存储过程的情况下实现这一点 我的数据?

    我在PostgreSQL上需要这个。

    3 回复  |  直到 6 年前
        1
  •  7
  •   John Saunders    15 年前

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

    例如:

    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)

        2
  •  5
  •   Cade Roux    15 年前

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

        3
  •  2
  •   user80168user80168    15 年前

    如果你在8.4,你可以使用 window functions (准确地说是行数)。

    如果你在8.4之前,你可以使用 described 前一段时间我 blog .