Sql server 如何为具有相同值的结果添加自定义递增计数器?

Sql server 如何为具有相同值的结果添加自定义递增计数器?,sql-server,counter,increment,Sql Server,Counter,Increment,我有以下MySQL查询,用于从特定位置重命名文件: SELECT REPLACE('copy "S:' + RIGHT(Path, LEN(Path) - 10) + '.eps" ','/','\'),' "C:\EPS\' + barcode + ' ().eps"' FROM product WHERE barcode IN ('1234','6789); 这给了我以下结果,这很好: copy "S:\C\image1.eps"

我有以下MySQL查询,用于从特定位置重命名文件:

SELECT REPLACE('copy "S:' + RIGHT(Path, LEN(Path) - 10) + '.eps" ','/','\'),' "C:\EPS\' + barcode + ' ().eps"'
FROM product 
WHERE barcode IN ('1234','6789);
这给了我以下结果,这很好:

copy "S:\C\image1.eps"  |  "C:\EPS\1234 ().eps"
copy "S:\C\image2.eps"  |  "C:\EPS\1234 ().eps"
copy "S:\C\image3.eps"  |  "C:\EPS\1234 ().eps"
copy "S:\C\image4.eps"  |  "C:\EPS\1234 ().eps"
copy "S:\C\image5.eps"  |  "C:\EPS\6789 ().eps"
copy "S:\C\image6.eps"  |  "C:\EPS\6789 ().eps"
如何为每个匹配值添加自定义计数器以获得以下结果

copy "S:\C\image1.eps"  |  "C:\EPS\1234 (1).eps"
copy "S:\C\image2.eps"  |  "C:\EPS\1234 (2).eps"
copy "S:\C\image3.eps"  |  "C:\EPS\1234 (3).eps"
copy "S:\C\image4.eps"  |  "C:\EPS\1234 (4).eps"
copy "S:\C\image5.eps"  |  "C:\EPS\6789 (1).eps"
copy "S:\C\image6.eps"  |  "C:\EPS\6789 (2).eps"

您拥有的代码看起来像SQL Server,因此请使用
ROW\u NUMBER()
window函数:

SELECT REPLACE('copy "S:' + RIGHT(Path, LEN(Path) - 10) + '.eps" ','/','\'),
       '"C:\EPS\' + barcode + ' (' + 
       CAST(ROW_NUMBER() OVER (PARTITION BY barcode ORDER BY Path) AS VARCHAR(10))
       +').eps"'
FROM product 
WHERE barcode IN ('1234','6789');
请参阅。
结果:


您确定标记了正确的数据库吗?这段代码看起来不像MySql。MySql无法添加字符串,因此这不是MySql,或者如果是MySql,它就被破坏了。我保证查询运行良好,并且是MySql。我只需要知道如何添加一个计数器,使每个值都有一个唯一的值,并且必须是数字顺序。这绝对不是MySQL。MySQL需要
CONCAT(…)
,因为MySQL中的
'x'+'.eps'
0
,因为它在做数学运算。这可能是Microsoft SQL Server,它是一种完全不同的方言。非常感谢,它工作得非常好。对于MySQL和SQL Server的混淆,我深表歉意。@您可以通过编辑问题上的标记来消除混淆。
copy "S:\C\image1.eps"  |  "C:\EPS\1234 (1).eps"
copy "S:\C\image2.eps"  |  "C:\EPS\1234 (2).eps"
copy "S:\C\image3.eps"  |  "C:\EPS\1234 (3).eps"
copy "S:\C\image4.eps"  |  "C:\EPS\1234 (4).eps"
copy "S:\C\image5.eps"  |  "C:\EPS\6789 (1).eps"
copy "S:\C\image6.eps"  |  "C:\EPS\6789 (2).eps"