Добрый день ! Если кто нибудь сталквался с такой задачей Nhibernate или знает как ее решить помогите решить ее! Очень надо!
Задача заключается в том что бы вычислить медиану(по ценам столбец price) в огромной таблице где более 5 000 000 записей
По сути, эта медиана есть при четном колтчестве чисел — среднее арифметическое между двумя крайними из половин (большее в нижней половине и меньшее в верхней) или число по средине ряда чисел при их нечетном количестве
SQL
как я понял надо вставить индексный столбец
// сортируем
create clusterred index price on myteble(price)
ALTER mytable add k1 int identity
DROP index mytable.price
create clustered index k1 on mytable.price
Select top 1@rows=rows from sysindexes where id=OBJECT_ID('mytable')
order by inid
Select avg(price) as Медиана from mytable
where k1 between @rows/2 and (@rows/2)+SIGN(@rows+1%2)
Мне надо написать запрос HQL(Nhibernate) получить медиану как это сделать??
дело втом что записи добавляется каждый час как оптимизировать запрос
Заранее спасибо!
18.11.07 21:55: Перенесено модератором из '.NET' — Хитрик Денис