而是使用TSQL Increment Cursor(row_number)

时间:2011-05-04 17:55:51

标签: tsql cursor

所以我有下表:

ID | Product_Image
300 | /300-01.jpg
300 | /300-02.jpg
301 | /301.jpg
302 | /302.jpg

每个ID可能会有无限数量的图像。我需要根据引用的数量增加位置ID,并且我无法生成以下输出:

ID | Position | Product Images
300 | 1 | /300-01.jpg
300 | 2 | /300-02.jpg
301 | 1 | /301.jpg

目前我正在使用光标但是遇到了问题

2 个答案:

答案 0 :(得分:5)

您可以使用row_number()

select  ID
,       row_number() over (partition by ID order by Product_Image) as Position
,       Product_Image
from    YourTable

答案 1 :(得分:3)

删除游标并使用带有OVER子句的T-SQL ROW_NUMBER。这是一个参考

http://msdn.microsoft.com/en-us/library/ms189461.aspx