如何使用 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:A 和 Year:2017 询问一个新数字,我希望该数字为 3。我想为了将来正确获取数字,我需要将代码和年份与数字一起保存。

使用 ROW_NUMBER 为每个Code分配NumberYear分组。

SELECT *,
    Number = ROW_NUMBER() OVER(PARTITION BY Code, [Year] ORDER BY (SELECT NULL))
FROM tbl

SELECT NULL替换为您希望订单基于的列。

最新更新