Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SQL Server 2012生成自定义序列号_Sql_Sql Server 2012 - Fatal编程技术网

如何使用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
替换为您希望订单基于的列。

您希望在表中包含此数字,还是在查询数据时?哦,我忘了提到生成的数字必须是唯一的,因此我猜这些数字必须保存在表中您希望在表中包含此数字吗,或者当你查询数据时?哦,我忘了提到生成的数字必须是唯一的,所以我猜这些数字必须保存在表格中哦,这样一个快速的回答。谢谢!我想我所需要做的就是把那个号码留着以后查询。哦,回复得真快。谢谢!我想我所需要做的就是把那个号码留着以后查询。