Я хочу вычислить плотный ранг группы по предложению и установить свой ранг в порядке моего идентификатора строки, т.е. самые маленькие идентификаторы получают первый ранг и т. Д.
Я могу получить плотный ранг моих строк, но ранг применяется не в том порядке, в котором я хочу. Пример данных:
id rang prop1 prop2 prop3 prop4
----------- -------------------- ----------- ----------- --------- -----
1244834 2 609 96 0,02 0,00
1244835 2 609 96 0,02 0,00
1244836 2 609 96 0,02 0,00
1244837 1 609 96 0,00 0,01
1244838 1 609 96 0,00 0,01
1244839 1 609 96 0,00 0,01
Мой запрос выглядит следующим образом:
select id,
DENSE_RANK() over (order by prop1, prop2, prop3, prop4) rang
prop1,
prop2,
prop3,
prop4,
from mytable
where ...
order by id
Я хочу, чтобы вычисленный ранг применялся в соответствии с моим порядком столбцов идентификаторов, зная, что идентификаторы являются последовательными.
Мои реальные данные имеют еще 15 свойств, которые используются для ранжирования, они не используются для заказа
В моем случае я хочу, чтобы звание было 1 = для идентификатора 124834, 124835, 124836 и звание = 2 для идентификатора 124837, 124838, 124839