加入收藏 | 设为首页 | 会员中心 | 我要投稿 湘西站长网 (https://www.0743zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Sql 为表的子集生成序列

发布时间:2022-12-15 14:39:28 所属栏目:MsSql教程 来源:网络
导读: Sql 为表的子集生成序列
sqlsql-server
Sql 为表的子集生成序列,sql,sql-server,Sql,Sql Server,我在SQLServer9中有一个表,其中包含以下格式的数据Code NumberJ0J5J8Y2Y8我想添加一个列

Sql 为表的子集生成序列

sqlsql-server

Sql 为表的子集生成序列,sql,sql-server,Sql,Sql Server,我在SQLServer9中有一个表,其中包含以下格式的数据Code NumberJ0J5J8Y2Y8我想添加一个列,其中有一个数字,每个代码的内部数字序列,因此我的表如下所示Code Number SeqJ01J52J83Y21Y82

我在SQLServer9中有一个表,其中包含以下格式的数据

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

我想添加一个列,其中有一个数字,每个代码的内部数字序列mssql 使用序列,因此我的表如下所示

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

有人对实现这一点的最佳方法有什么建议吗?

在联机丛书中查找函数行号()和秩()

在联机丛书中查找函数行号()和秩()

查看函数

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

看看函数

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

(编辑:湘西站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!