利用SQL语句自动生成序列号:SELECT (@i :=@i + 1)

利用SQL语句自动生成序列号:SELECT (@i :=@i + 1),第1张

@i:=@i+1表示序号依次加1

后面的查询SELECT @i := 0是为了将i进行初始化每次查询的序列号都会从1开始进行排序生成序列号

用SQL语句可以这样写就能生成序列号: select(@i:=@i+1)as 序号 from (select @i:=0) as i

SELECT (@i:=@i+1) 序号 , name as 所属组织,resource as 单位 FROM cx_external_resources , (SELECT @i:=0) as i 

现有两种方法解决,供参考:

1、SELECT IDENTITY(INT,1,1) AS 序号, avge FROM Table1

2、SELECT IDENTITY(INT,1,1) AS 序号, avge INTO #temp1 FROM Table1

SELECT * FROM #temp1

DROP TABLE #temp1

给查询出的SQL记录添加序号列,解决方法有以下两种 

第一:

select ROW_NUMBER() OVER (ORDER BY a.字段 ASC) AS XUHAO,a.* from table a1

(table 为表名,字段为表a中的字段名) 

第二:

select RANK()  OVER (ORDER BY a.字段 ASC) AS XUHAO,a.* from table a1

(table 为表名,字段为表a中的字段名)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11759208.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存