За столом похожийСовокупное кол дублей
ID | Value
-------------
1 | 2
2 | 10
3 | 3
4 | 2
5 | 0
6 | 3
7 | 3
Я хотел бы подсчитать количество идентификаторов с более высоким Value
, для каждого Value
, который появляется в таблице, т.е.
Value | Position
----------------
10 | 0
3 | 1
2 | 4
0 | 6
Это соответствует смещению Value
в заказе ORDER BY Value
.
Я рассмотрел делать это путем подсчета количества дублей с чем-то вроде
SELECT Value, count(*) AS ct FROM table GROUP BY Value";
А потом сложение результата, но я предполагаю, что это не оптимальный способ сделать это (ни я сумел объединить команды соответственно)
Как можно эффективно вычислить это (для нескольких десятков тысяч строк)?
Невероятный. Я бы не подумал, что команда/функция существует! Большое спасибо. Ранг() еще лучше для того, что я пытаюсь сделать, так что все отлично! – CBenni