had interpreted the question as lokking for equidistant new values by the not written out "at least" which your version would create - but taken OP literal and not interpreting something into it your version is clearly easier ;-)
>>create a cursor with posC, newvalue order posC desc, scan and build newvalue, update tabledata with cursordata.
>
>
>Quicker - round every value to a multiple of 10
>
>
>>>I am having the following data in a filed posC N (8,2). The Highest among it is 561 and occurs four times in the entire records. The next higher is 549. I need to have difference of 10 points in each next lower digit. So in place of 549 in need 551. Similarly , next higher is 545 that occurs two times , I need 541 for both 545 and like wise
>>>
>>>How it will be done ?
>>>
>>>
>>>23
>>>23
>>>179
>>>293
>>>389
>>>536
>>>23
>>>230
>>>338
>>>446
>>>561
>>>23
>>>222
>>>338
>>>446
>>>561
>>>23
>>>149
>>>23
>>>68
>>>23
>>>23
>>>183
>>>223
>>>341
>>>381
>>>386
>>>431
>>>465
>>>471
>>>501
>>>545
>>>551
>>>23
>>>195
>>>243
>>>375
>>>460
>>>539
>>>23
>>>195
>>>243
>>>375
>>>460
>>>539
>>>23
>>>149
>>>23
>>>68
>>>23
>>>23
>>>293
>>>388
>>>512
>>>543
>>>549
>>>23
>>>292
>>>386
>>>532
>>>23
>>>532
>>>23
>>>23
>>>162
>>>223
>>>341
>>>381
>>>386
>>>431
>>>465
>>>471
>>>501
>>>545
>>>551
>>>23
>>>168
>>>241
>>>375
>>>460
>>>539
>>>23
>>>171
>>>241
>>>375
>>>460
>>>539
>>>23
>>>168
>>>241
>>>375
>>>460
>>>539
>>>
>>>Regards