select *,产生序号() 序号 from T
T表本身没有序列号的,要求不能对T表进行增加序号字段的操作 希望大家写个函数跟系统函数newid类似,从1开始生成,如查询返回N条记录,就显示到序号到N,如果T表有10行记录,则显示如下
记录字段 序号
记录1 1
记录2 2
记录3 3
...
记录10 10
T表本身没有序列号的,要求不能对T表进行增加序号字段的操作 希望大家写个函数跟系统函数newid类似,从1开始生成,如查询返回N条记录,就显示到序号到N,如果T表有10行记录,则显示如下
记录字段 序号
记录1 1
记录2 2
记录3 3
...
记录10 10
ALTER TABLE T ADD ID int IDENTITY(1,1)--查询
select 记录字段,序号=ID from T
select #t
则可以select (select count(*) from tableA b where a.id <b.id) as newid from tableA a
select * from #t
select au_id,(select count(*) 序号 from authors where au_id <=b.au_id) from dbo.authors b
order by au_id
order by dd
如:
select dd,(select count(*) 序号 from cc where dd<=b.dd) from cc b
where dd between * and *
order by dd
select * from #M
前提是T表中没有IDentity定义的列
God 此贴生命力很强啊!
2005 以上用排名函数
2000 用临时表,自动编号列
insert into AA values(1,'c',1)
insert into AA values(5,'b',5)
insert into AA values(8,'d',4)
insert into AA values(9,'e',5)
insert into AA values(5,'f',7)select Row_number() Over(order by a),* from AA