2

如何构建查询以显示自动递增的数字?

我有一个查询,select * from data结果是:

Name    State  
a       malaysia  
b       Indonesia  

我要这个:

No      Name    State  
1       a       malaysia  
2       b       Indonesia  

我该怎么做?

4

3 回答 3

3
SELECT Name
, State
, RANK() OVER (ORDER BY Name, State) as Ranking
FROM Data
于 2013-03-27T01:53:03.077 回答
0

既然你没有说在什么数据库中,就让它成为 PostgreSQL:

选择 0+row_number() OVER(ORDER BY name DESC) 作为位置,* from test.users ORDER BY name

这在其他数据库中可能会有所不同(肯定会)。思路应该是一样的,这样一来你就知道怎么做了。在其他一些地方应该很容易做到。

于 2013-03-27T02:03:58.523 回答
0

我不知道是否有与数据库无关的方式。

Oracle 允许您将 rownum ( http://www.adp-gmbh.ch/ora/sql/rownum.html ) 声明为要返回的列。

H2 也支持这种语法

答案可能取决于您使用的数据库的风格。

于 2013-03-27T01:55:04.320 回答