当前位置:  开发笔记 > 数据库 > 正文

生成表的子集的序列

如何解决《生成表的子集的序列》经验,为你挑选了1个好方法。

我在SqlServer 9中有一个表格的数据

Code    Number
J       0
J       5
J       8
Y       2
Y       8

我想添加一个列,其中包含每个代码的内部数字序列号,以便我的表看起来像这样;

Code    Number   Seq
J       0        1
J       5        2
J       8        3
Y       2        1
Y       8        2

有没有人对完成此任务的最佳方法有任何建议?



1> Ryan..:

查看ROW_NUMBER()函数.

DECLARE @Number TABLE (
    Code        nvarchar(1)
,   Number      int
)


INSERT @Number VALUES ('J', 0)
INSERT @Number VALUES ('J', 5)
INSERT @Number VALUES ('J', 8)
INSERT @Number VALUES ('Y', 2)
INSERT @Number VALUES ('Y', 8)


SELECT * FROM @Number


SELECT  Code
,       Number
,       ROW_NUMBER() OVER(PARTITION BY Code ORDER BY Code) AS Seq
FROM    @Number

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有