如何使用SQL Server 2012生成自定义序列号
有没有办法生成如下所示的自定义序列号? 我希望这个数字随着代码和年份的分组而递增如何使用SQL Server 2012生成自定义序列号,sql,sql-server-2012,Sql,Sql Server 2012,有没有办法生成如下所示的自定义序列号? 我希望这个数字随着代码和年份的分组而递增 Code Year Number A 2016 1 A 2016 2 A 2016 3 B 2016 1 B 2016 2 C 2016 1 A 2017 1 A 2017 2 如有任何建议,将不胜感激 编辑 对不起,我对我想要的东西太模棱两可了。我希望在查询
Code Year Number
A 2016 1
A 2016 2
A 2016 3
B 2016 1
B 2016 2
C 2016 1
A 2017 1
A 2017 2
如有任何建议,将不胜感激
编辑对不起,我对我想要的东西太模棱两可了。我希望在查询时生成唯一的数字,因此,如果我在上述数据上下文中使用代码:a和年份:2017询问一个新数字,我希望该数字为3。我想,为了在将来正确地获得数字,我需要保存代码和年份以及数字 使用
行编号
为每个代码
,年度
分组分配编号
SELECT *,
Number = ROW_NUMBER() OVER(PARTITION BY Code, [Year] ORDER BY (SELECT NULL))
FROM tbl
将
选择NULL
替换为您希望订单基于的列。使用行号
为每个代码
,年度
分组分配编号
SELECT *,
Number = ROW_NUMBER() OVER(PARTITION BY Code, [Year] ORDER BY (SELECT NULL))
FROM tbl
将
SELECT NULL
替换为您希望订单基于的列。您希望在表中包含此数字,还是在查询数据时?哦,我忘了提到生成的数字必须是唯一的,因此我猜这些数字必须保存在表中您希望在表中包含此数字吗,或者当你查询数据时?哦,我忘了提到生成的数字必须是唯一的,所以我猜这些数字必须保存在表格中哦,这样一个快速的回答。谢谢!我想我所需要做的就是把那个号码留着以后查询。哦,回复得真快。谢谢!我想我所需要做的就是把那个号码留着以后查询。