SQL вычисление медианы в sql запросе

*
3
*
✩
Скажем в таблице пользователя есть некое поле хранящее целое число.
Я хочу вычислить медиану и среднее арифметическое по этому полю.
Кто нибудь писал подобный запрос ранее. Я даже забыл как медиану то считать :)
sql
1 год 5 месяцев назад
wow
[180]
#ссылка не по теме? tweet сохранить
комментировать



*
1
*
t - таблица, в которой
val - "некое поле хранящее целое число"

Запрос возвращает медиану и среднее арифметическое:
SELECT top 1
  t1.val median,
  avg( t2.val) average
FROM
  t AS t1,
  t AS t2
GROUP BY
  t1.id,
  t1.val
ORDER BY
  abs(
    sum(
      case
        when t1.val > t2.val then 1
        when t1.val < t2.val then -1
        else 0
      end
    )
  )

#ссылка не по теме?
1 год 2 месяца назад
efdm
[8]
Комментировать
*
0
*
Сортируете все записи по числовому полю и выбираете среднюю строку. Как сделать это одним запросом - не знаю.
#ссылка не по теме?
1 год 2 месяца назад
Eugen
[460]
Комментировать

Ваш Ответ:


Ваш OpenID


Получить OpenID

Что такое OpenID?
или

Логин

Email

Пароль


Будет создана учетная запись и на email выслано письмо подтверждения.


новые ответы

Первый раз на сайте?

askdev.ru — это социальный сайт вопросов и ответов для IT-специалистов: программистов, веб-дизайнеров, системных администраторов.
о сайте » регистрация »

Показан

505 раз

Задан

1 год 5 месяцев назад

Теги
sql x 69
X

Пожалуйста, войдите:


Имя:
Пароль:
регистрация
Или используйте OpenID