No    姓名       性别    出生年月?     Clinton   female   55-01-01
?     Bush      male    46-09-02 
如果记录顺序selecr  *   order by 出生年月,
有没有办法用SQL语句在 No字段上填入 顺序流水号 1,2,3,...........

解决方案 »

  1.   

    select rn=row_number()over(order by 出生年月) , from xx order by 出生年月
      

  2.   

    select rn=row_number()over(order by 出生年月),* from xx order by 出生年月 
      

  3.   

    select px=identity(int,1,1),姓名,性别,出生年月 into #temp from tb order by 出生年月
    select [no]=px,姓名,性别,出生年月 from #temp
    drop table #temp
      

  4.   

    --SQL2005
    SELECT  row_number() over(order by 出生年月) AS NO, * FROM LI order by 出生年月--SQL2000
    SELECT IDENTITY(INT,1,1) AS NO,* INTO # FROM LI ORDER BY 出生年月
      

  5.   


    select *,no=(select count(*) from tb  where 出生年月<a.出生日期)
    from tb a
    order by 出生年月
      

  6.   

    使用ROW_NUMBER()OVER (ORDER BY 出生年月)
    z或者直接alter table a add columns id int identity(1,1),建立标识列
      

  7.   

    楼上的好象不行吗,没有这个函数,我用的是SQL SERVER 2000
      

  8.   

    SQL 2000 的用 SELECT IDENTITY(INT,1,1) AS NO,* INTO # FROM LI ORDER BY 出生年月
      

  9.   

    好的,
    SQL 2000只能用3楼的了,
    SQL 2005可以用 ROW_NUMBER( ),
    多谢了这么多热心的网友