Предполагая, что мой subquery
дает количество строк со столбцами (x, y), я хотел бы вычислить значение avg(abs(x-mean)/y)
. где mean
эффективно avg(x)
.Избегайте встраивания функций агрегации в PostgreSQL 8.3.4
select avg(abs(x-avg(x))/y) as incline from subquery
не работает, потому что я не могу установить функции агрегации. Я также не могу думать о способе вычисления среднего значения в подзапросе, сохраняя при этом исходный набор результатов. Функция avgdev, поскольку она существует в других диалектах, не поможет мне, поэтому здесь я застрял. Вероятно, из-за отсутствия знаний sql - вычисление значения из набора результатов в постобработке легко.
Какой SQL-конструктор может мне помочь?
Редактировать: Версия сервера - 8.3.4. Нет функций окна с WITH
или OVER
.
Я полагаю, что вопрос это ... если вам действительно нужно действительно такое поведение ... есть ли причина, по которой вы не можете пройти обновление? – xenoterracide
, когда depesz делает свою «ожидающую» серию, он иногда показывает предыдущий способ сделать это ... вы, возможно, захотите посмотреть его ожидания на оконные функции или подобное. – xenoterracide
Это было бы тогда: http://www.depesz.com/index.php/2009/01/21/waiting-for-84-window-functions/ - спасибо за этот указатель. – relet