如何获得表中各条记录的行号?
似乎行号一般是被隐藏了

解决方案 »

  1.   

    SQLSERVER2000中没有行号.
    在SQLSERVER2000中要实现"行号",可以这样试试:
    1.将查询结果插入到临时表中,并生成自动增量标识列(即IDENTITY列).语法为:
    select id = identity(int,1,1),* into #tmp from table
    id就是#tmp表中的IDENTITY列.然后select * from #tmp.
    2.根据查询结果某列中行之间的递增关系来生成序号.注意:此种方法必须保证该列不能有重复值.----创建测试数据
    declare @t table(dt datetime)
    insert @t
    select '2006-09-01' union all
    select '2006-09-03' union all
    select '2006-09-04' union all
    select '2006-09-06' union all
    select '2006-09-08' 
    ---方法一
    select id = identity(int,1,1),* into #tmp from @t
    select * from #tmp
    drop table #tmp
    ----方法二
    select 
    id = (select count(*) from @t where dt <= a.dt),
    dt
    from @t a/*结果
    id    dt
    ------------------------------------------
    1     2006-09-01 00:00:00.000
    2     2006-09-03 00:00:00.000
    3     2006-09-04 00:00:00.000
    4     2006-09-06 00:00:00.000
    5     2006-09-08 00:00:00.000
    */