说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何自动给表中的数据顺序分配行号?

编辑:说三道四文库 发布时间:2018-08-16 02:32
HTML文档下载 WORD文档下载 PDF文档下载
我在表中的数据如下:
ss dd  df
sd df  df
sd fg  dgf
现在需要一条SQL语句自动给上面表中数据顺序分配行号。
行号为:1 2 3 ...
好象oracle中是这样写的:
select * from (select rownum rm,tablename.* from tablename) order by id desc";
其中rm就是表中的行号?请问,SQL中如何达到同样的效果?
select id=identity(int,1,1),* into #t from 原表
select * from #t order by id desc
drop table #t
select identity(int) id ,* into  #temp from 表
select * from #temp
http://expert.csdn.net/Expert/topic/2437/2437014.xml?temp=.67857
交流]自增号

1: 自增列   类型为:int identity(1,1)  当然也可以是bigint,smallint 
   eg: create table tbName(id int identity(1,1),description varchar(20))
   或在用企业管理器设计表字段时,将字段设为int,将标识设为是,其它用默认即可

2: 查询时加序号:
  a:没有主键的情形:
   Select identity(int,1,1) as iid,* into #tmp from TableName
   Select * from #tmp
   Drop table #tmp
  b:有主键的情形:
   Select (Select sum(1) from TableName where KeyField <= a.KeyField) as iid,* from TableName a
select no=identity(int,1,1),* into #a from bbs;
select * from #a;

以上两句可否用一个SQL语句来实现?
多谢。搞定
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘