Здравствуйте, GarryIV, Вы писали:
GIV>Здравствуйте, bit85, Вы писали:
B>>Добрый день ! Если кто нибудь сталквался с такой задачей Nhibernate или знает как ее решить помогите решить ее! Очень надо! B>>Задача заключается в том что бы вычислить медиану(по ценам столбец price) в огромной таблице где более 5 000 000 записей B>>По сути, эта медиана есть при четном колтчестве чисел — среднее арифметическое между двумя крайними из половин (большее в нижней половине и меньшее в верхней) или число по средине ряда чисел при их нечетном количестве
GIV>1. Использовать native query GIV>2. Использовать хранимую процедуру
а как нваписать на етот запрос??? Я первый раз cстолкнулся с HNIBERNATE
select Median=avg(distinct 1.0*price)
from (select d1.price
from Alper d1 cross join Alper d2
group by d1.id,d1.price
having sum(case when d2.price=d1.price then 1 else 0 end)>=
abs(sum(case when d2.price<d1.price then 1 when d2.price>d1.price then -1 else 0
end)))d1