在SQL中运行数字

Der*_*ops 3 sql

我有一个这样的SQL语句:

SELECT name FROM users WHERE deleted = 0;
Run Code Online (Sandbox Code Playgroud)

如何在第一行中创建带有运行编号的结果集?所以结果看起来像这样:

1 Name_1
2 Name_3
3 Name_12
4 Name_15
...
Run Code Online (Sandbox Code Playgroud)

Qua*_*noi 9

Oracle,SQL ServerPostreSQL 8.4:

SELECT  ROW_NUMBER() OVER (ORDER BY name)
FROM    users
WHERE   deleted = 0
Run Code Online (Sandbox Code Playgroud)

MySQL:

SELECT  @r := @r + 1 AS rn
FROM    (
        SELECT  @r := 0
        ) vars, users
WHERE   deleted = 0
ORDER BY
        name
Run Code Online (Sandbox Code Playgroud)

PostgreSQL 8.3:

SELECT  num, (arr[num]).*
FROM    (
        SELECT  generate_series(1, array_upper(arr, 1)) AS num, arr
        FROM    (
                SELECT  ARRAY
                        (
                        SELECT  users
                        FROM    users
                        ORDER BY
                                name
                        ) AS arr
                ) q
        ) q2
Run Code Online (Sandbox Code Playgroud)