Ну, вы пытались использовать RANK или DENSE_RANK с предложением PARTITION BY?
Хорошо, я пришел к тому же решению, что и @Martin, и я признаю, @marc_s, что в этом нет ничего простого. И я не был достаточно умен, чтобы выяснить отношения между двумя группами row_number и что вычитание их приводит к этой таблице.
id value row_number
1 0.0 0
2 1.2 -1
3 1.3 -1
4 1.4 -1
5 0.0 -3
6 1.2 -2
7 1.3 -2
8 1.4 -2
Отсюда я думаю, что очевидно, что делать дальше. Игнорируйте нули, сгруппируйте по row_number, используйте max aggregate и вуаля!