select (select count(*)+1 from table where a.name>name) as id,name from c a order by name

解决方案 »

  1.   

    select (select count(*)+1 from [table] where a.name>name) as id,name from [table] a order by name
      

  2.   

    select  1+isnull((select  count(*)from  T_Diary where  fkey>a.fkey ),0) 
    as  id,fDate,fbank,fmoney, fTimes 
    from  T_Diary  a  利用自增吧,心情好,大家有分啊。谢谢了。
    在FAQ中找到的!!!
      

  3.   

    select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表select * from #temp
      

  4.   

    IDENTITY(函数)
    只用在带有 INTO table 子句的 SELECT 语句中,以将标识列插入到新表中。尽管类似,但是 IDENTITY 函数不是与 CREATE TABLE 和 ALTER TABLE 一起使用的 IDENTITY 属性。语法
    IDENTITY ( data_type [ , seed , increment ] ) AS column_name参数
    data_type标识列的数据类型。标识列的有效数据类型可以是任何整数数据类型分类的数据类型(bit 数据类型除外),也可以是 decimal 数据类型。seed要指派给表中第一行的值。给每一个后续行指派下一个标识值,该值等于上一个 IDENTITY 值加上 increment 值。如果既没有指定 seed,也没有指定 increment,那么它们都默认为 1。increment用来添加到 seed 值以获得表中连续行的增量。column_name将插入到新表中的列的名称。 返回类型
    返回与 data_type 相同的类型。注释
    因为该函数在表中创建一个列,所以必须用下列方式中的一种在选择列表中指定该列的名称:--(1)
    SELECT IDENTITY(int, 1,1) AS ID_Num
    INTO NewTable
    FROM OldTable--(2)
    SELECT ID_Num = IDENTITY(int, 1, 1)
    INTO NewTable
    FROM OldTable示例
    下面的示例将来自 pubs 数据库中 employee 表的所有行都插入到名为 employees 的新表。使用 IDENTITY 函数在 employees 表中从 100 而不是 1 开始编标识号。USE pubs
    IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
          WHERE TABLE_NAME = 'employees')
       DROP TABLE employees
    GO
    EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'true'SELECT emp_id AS emp_num, 
       fname AS first, 
       minit AS middle, 
       lname AS last, 
       IDENTITY(smallint, 100, 1) AS job_num, 
       job_lvl AS job_level, 
       pub_id, 
       hire_date
    INTO employees 
    FROM employee
    GO
    USE pubs
    EXEC sp_dboption 'pubs', 'select into/bulkcopy', 'false'
      

  5.   

    select identity(int,1,1) as id,* into #temp from tableNameselect * from #temp
      

  6.   

    select max(id) from table1
      

  7.   

    select (select count(*) from tableName where name <= a.name) as id,name from tableName a order by idor alter table tableName add id int identity(1,1)
    select id,name from tableName order by id
    alter table tableName drop column id
      

  8.   

    我看sql查询分析器旁边有标识,
    能不能不建表,利用sql的函数(如果有的话)