2017-08-25 148 views
0

我的查詢返回像這樣的結果。 sqlfiddle根據列值的變化增加和更改計數器

COLOR_NAME 

RED 
RED 
RED 
GREEN 
GREEN 
BLUE 
WHITE 
WHITE 
WHITE 
WHITE 
WHITE 
WHITE 

我需要表現出與上述結果號碼。所以期望的結果是這樣的。

COLOR_NAME SORT_NO 

RED   10 
RED   11 
RED   12 
GREEN  10 
GREEN  11 
BLUE  10 
WHITE  10 
WHITE  11 
WHITE  12 
WHITE  13 
WHITE  14 
WHITE  15 

我怎麼能在MS SQL實現這一目標?

回答

3

可以使用ROW_NUMBER()功能

select COLOR_NAME 
, 9 + ROW_NUMBER() OVER (PARTITION BY COLOR_NAME ORDER BY ID) AS Sort_No 
from TB_COLOR 

SQLFiddle

+0

謝謝您的回答。保存了我的一天。 – Bishan