中秋放分sql生成行号

chengpei_chen 2014-09-05 04:10:19
有一个这样的数据,其中F2是个分类,我想实现按照F2列来自动生成一列行号,类似于列F1这种,但是原始表中没有F1这一列。也就是F2中每一类都从1开始编号,请问怎么做

Select * INTO #T
FROM(
Select 1 F1, 'AA' F2 UNION ALL
Select 2 F1, 'AA' F2 UNION ALL
Select 3 F1, 'AA' F2 UNION ALL
Select 1 F1, 'BB' F2 UNION ALL
Select 2 F1, 'BB' F2 UNION ALL
Select 3 F1, 'BB' F2 UNION ALL
Select 4 F1, 'BB' F2
) T1
select * from #T
...全文
283 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
KeepSayingNo 2014-09-10
  • 打赏
  • 举报
回复
直接升级数据库到2005以上版本吧,否则很多新功能都用不了,数据库维护效率低
haitao 2014-09-07
  • 打赏
  • 举报
回复
2005的一些新功能是突破性的
唐诗三百首 2014-09-07
  • 打赏
  • 举报
回复
SQL2000的方法,

create table cp(F2 varchar(5))
  
insert into cp(F2)
 select 'AA' union all
 select 'AA' union all
 select 'AA' union all
 select 'BB' union all
 select 'BB' union all
 select 'BB' union all
 select 'BB'
  
 
select F2,
       identity(int,1,1) 'rn' 
 into #T
 from cp

select a.rn-b.minrn+1 'F1',a.F2
 from #T a
 inner join(select F2,
                   min(rn) 'minrn' 
            from #T 
            group by F2) b on a.F2=b.F2
 
/*
F1          F2
----------- -----
1           AA
2           AA
3           AA
1           BB
2           BB
3           BB
4           BB

(7 行受影响)
*/
jayzhihui 2014-09-07
  • 打赏
  • 举报
回复
还有一个2000里可以插入到临时表IDENTITY(1,1)实现序号
Tiger_Zhao 2014-09-05
  • 打赏
  • 举报
回复
-- 先设定每个分组的数量
SELECT *
INTO #T1
FROM (
SELECT 'AA' F2, 3 c UNION ALL
SELECT 'BB' F2, 4 c
) T

SELECT v.number F1,
#T1.F2
INTO #T
FROM #T1
JOIN master.dbo.spt_values v
ON v.type = 'p'
AND v.number > 0
AND v.number <= #T1.c

SELECT * FROM #T

         F1 F2
----------- ----
1 AA
2 AA
3 AA
1 BB
2 BB
3 BB
4 BB
chengpei_chen 2014-09-05
  • 打赏
  • 举报
回复
sql 2000中没有row_number吧
hleb231 2014-09-05
  • 打赏
  • 举报
回复
打错了 (partition by f2 order by f2 )中间 没有逗号
向东流 2014-09-05
  • 打赏
  • 举报
回复
2005 直接用row_number() select f1=row_number()over(partition by f2 order by getdate()),f2
hleb231 2014-09-05
  • 打赏
  • 举报
回复

select row_number () over(partition by F2,order by F2) as rn ,* from t1

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧