在SQL数据库中,有一个查询结果,这个查询结果没有序号,是按玩家的等级排行来排序的。
现在我要将这个排序的结果添加一列序号,从0到100,这样可以看到前100名每一名玩家所对应的等级。
我原有的查询语句如下:
(涂抹部分涉及保密内容,不影响此文)
查询结果如下:
方法 一(适用于SQL Server 2005及其以后版本):
为了添加一列序号,我只需这样来写:select 名次=Row_number() Over(order by getdate()),* from 表名
或者:select 名次=Row_number() Over(order by getdate()),* from(select查询语句) a
说明:此处 a 为表名,可以随便命名,这个表名不可以少。
修改后语句如下:
说明:此处 a 是表名,必须要写,自己可以随便命名
查询结果如下:
方法二:用临时表来做
像这样修改语句
create table #tmp(
rankid int identity,
account varchar(50),
firstlogintime VARCHAR(30),
serverid int,
servername varchar(50),
maxlevel int,
onlinetime int,
updatetime datetime
)
insert into #tmp
select查询语句
select * from #tmp
drop table #tmp
修改之后语句像这样:
运行效果也是一样的。