например у нас 100 элементов. тогда забираете с базы весь список. ранжируете его по старым данным. смотрите с какой позиции на какую переместился элемент. допустим 50 элемент переместился на 25 позицию. срезаем первые 24, они у нас не затронуты. вытаскиваем из коллекции 50 элемент, записываем ему значение 25. далее обходим форичем оставшиеся и инкриментируем им значение затем все это сохраняем