如何在Select语句中增加自增字段

不能改字段,要在select语句中实现第一列是自增的,也就是原字段不变,只是在查询结果中加一列自增列。用select来做。
1:
select identity(int,1,1) as iid,* into #tmp from 表
select * from #tmp
2: 如果有关键字段
select (select sum(1) where keyfield <= a.keyfield) as iid,* from 表 a
select
1+isnull((select count(*) from tablename
where col1<a.col1
or (col1=a.col1 and col2<a.col2)
or (col1=a.col1 and col2=a.col2 and col3<a.col3)
...
),0) as 序号
,*
from tablename
order by col1,col2,...

注意:col1,col2,...排同一个序号,如果要不同序号,只能用楼上的方法
select (select sum(1) from 你的表 where 你的自增字段<=a.你的自增字段) num,* from 你的自增字段 a
有主键的可以直接用:

select 自增列=(select sum(1) from 表 where 主键<=a.主键),* from 表 a


没有主键的需要用临时表:
select 自增列=identity(int,1,1),* into #tb from 表
select * from #tb
drop table #tb

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值