如何构建查询以显示自动递增的数字?
我有一个查询select * from data
,结果是:
Name State
a malaysia
b Indonesia
我想要这个:
No Name State
1 a malaysia
2 b Indonesia
我该怎么做?
答案 0 :(得分:3)
SELECT Name
, State
, RANK() OVER (ORDER BY Name, State) as Ranking
FROM Data
答案 1 :(得分:0)
我不知道是否存在与数据库无关的方式。
Oracle允许您将rownum(http://www.adp-gmbh.ch/ora/sql/rownum.html)声明为要返回的列。
H2也支持这种语法
答案可能取决于您使用的数据库的风格。
答案 2 :(得分:0)
因为你没有说在什么数据库中让它成为PostgreSQL:
选择0 + row_number()OVER(ORDER BY name DESC)作为位置,*来自test.users ORDER BY name
这在其他数据库中可能会有所不同(肯定会有)。这个想法应该是同一个想法,所以这样你就知道怎么做了。在其他一些应该很容易做到。