Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2009, 15:55   #1
Serval
Пользователь
 
Регистрация: 20.01.2009
Сообщений: 26
Смущение Медиана - SQL

Нужно найти медиану из таблицы в SQL.
есть некие значения Val - медиану в которых нужно найти за некоторый промежуток времени значения которого есть в столбце DT.

sql server 2000.
Serval вне форума Ответить с цитированием
Старый 27.01.2009, 16:31   #2
Zerone
++
Пользователь
 
Регистрация: 26.01.2009
Сообщений: 92
По умолчанию

Вычисление медианы
Код:
USE pubs;
GO

IF OBJECT_ID('dbo.fn_median') IS NOT NULL
  DROP FUNCTION dbo.fn_median;
GO

CREATE FUNCTION dbo.fn_median(@stor_id AS CHAR(4)) RETURNS NUMERIC(11, 1)
AS
BEGIN
  RETURN
    (
     (SELECT MAX(qty) FROM
        (SELECT TOP 50 PERCENT qty FROM dbo.sales
         WHERE stor_id = @stor_id
         ORDER BY qty) AS H1)
     +
     (SELECT MIN(qty) FROM
        (SELECT TOP 50 PERCENT qty FROM dbo.sales
         WHERE stor_id = @stor_id
         ORDER BY qty DESC) AS H2)
    ) / 2.
END
GO

SELECT stor_id, dbo.fn_median(stor_id) AS median
FROM dbo.stores;
GO
ITIL/ITSM
Zerone вне форума Ответить с цитированием
Старый 27.01.2009, 20:28   #3
Serval
Пользователь
 
Регистрация: 20.01.2009
Сообщений: 26
По умолчанию

и как это работает - я как-то плохо знаком с подобными функциями
это я тоже видел - тока разобраться несмог - думал может попроще есть вариант
Serval вне форума Ответить с цитированием
Старый 27.01.2009, 20:34   #4
Sasha_Smirnov
Особый статус
Участник клуба
 
Аватар для Sasha_Smirnov
 
Регистрация: 24.11.2008
Сообщений: 1,535
По умолчанию О чём речь

Медиана.

Если доверяете, конечно...
Sasha_Smirnov вне форума Ответить с цитированием
Старый 28.01.2009, 07:21   #5
Serval
Пользователь
 
Регистрация: 20.01.2009
Сообщений: 26
По умолчанию

доверять-то доверяю - мне как посчитать ее при помощи запроса и чтобы поменьше извращений
Serval вне форума Ответить с цитированием
Старый 28.01.2009, 09:30   #6
Zerone
++
Пользователь
 
Регистрация: 26.01.2009
Сообщений: 92
По умолчанию

это не извращения=)
разберись в каждой команде запроса и подставляй свой случай
ITIL/ITSM
Zerone вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SQL Ash БД в Delphi 6 26.01.2009 09:14
SQL gandONE БД в Delphi 0 22.09.2008 14:26
sql или не sql Diamand SQL, базы данных 9 18.09.2008 17:17
Запросы SQL и PL/SQL sharpest Фриланс 1 05.02.2008 18:58
SQL запрос на основе другого SQL запрса... Timoxa БД в Delphi 1 07.01.2007 18:15