如何在查询中生成序列号?

时间:2011-01-19 05:16:55

标签: database postgresql

我们正在使用PostgreSQL v8.2.3。

如何在查询输出中生成序列号?我想显示查询返回的每一行的序列号。

示例:SELECT employeeid, name FROM employee

我希望从一行开始生成并显示序列号。

2 个答案:

答案 0 :(得分:17)

您有两种选择。

升级到PostgreSQL v8.4并使用row_number()功能:

SELECT row_number() over (ORDER BY something) as num_by_something, *
FROM table
ORDER BY something;

或按照Simulating Row Number in PostgreSQL Pre 8.4中的说明跳过一些箍。

答案 1 :(得分:4)

SELECT row_number() over (order by employeeid) as serial_number,
       employeeid,
       name
FROM employee

如果要根据名称的排序分配数字,请在over子句中更改顺序