[sql/postgresql] Как одним запросом сделать следующее:
Тоесть есть например в таблице 2 поля: value и order. Нужно для каждого элемента в order записать количество элементов из этого же множества у которых value больше чем у данного.я не понял. "это множество" — это вся таблица или строки с тем же order?
в любом случае, взботни оконные функции:
http://www.postgresql.org/docs/8.4/interactive/tutorial-wind...
select value, count(1) over (order by value desc range between unbounded preceding and current row)
from table
select value, rank over (order by value desc)
from table
множество - это множество строк таблицы
Оставить комментарий
xlapshinx
Посчитать для каждого элемента множества его порядковую статистику.Тоесть есть например в таблице 2 поля: value и order. Нужно для каждого элемента в order записать количество элементов из этого же множества у которых value больше чем у данного.
И еще хотелось бы чтобы это работало за N*logN с учетом того что есть индекс по value.