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

Gna*_*nam 9 database postgresql

我们正在使用PostgreSQL v8.2.3.

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

例: SELECT employeeid, name FROM employee

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

Yod*_*ber 19

你有两个选择.

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

SELECT row_number() over (ORDER BY something) as num_by_something, *
FROM table
ORDER BY something;
Run Code Online (Sandbox Code Playgroud)

或者按照PostgreSQL Pre 8.4中的模拟行号中的描述跳过一些箍.


a_h*_*ame 7

SELECT row_number() over (order by employeeid) as serial_number,
       员工ID,
       姓名
来自员工

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