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

Database 如何在查询中生成序列号?,database,postgresql,Database,Postgresql,我们正在使用PostgreSQL v8.2.3 如何在查询输出中生成序列号?我想显示查询返回的每一行的序列号 示例:SELECT employeeid,name FROM employee 我希望从一行开始生成并显示每行的序列号 SELECT row_number() over (order by employeeid) as serial_number, employeeid, name FROM employee 选择(order by employeeid)上方

我们正在使用PostgreSQL v8.2.3

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

示例:
SELECT employeeid,name FROM employee

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

SELECT row_number() over (order by employeeid) as serial_number, employeeid, name FROM employee 选择(order by employeeid)上方的行号()作为序列号, 雇员ID, 名称 来自员工 如果要根据名称的排序分配数字,请在
over
子句中更改顺序,您有两个选项

升级到PostgreSQL v8.4并使用
行号()
函数:

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

或者如中所述跳过某些限制。

但是
行号()
窗口函数在v8.2中不可用。抱歉,我没有看到您正在使用8.2,但我强烈建议升级。