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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2012, 22:17   #1
al583
Новичок
Джуниор
 
Регистрация: 24.06.2012
Сообщений: 2
По умолчанию Написать запрос для определения средневзвешенной температуры

Добрый вечер,форумчане.
Помогите мне реализовать такой запрос. Вот суть задачи,ниже наброски решения:

В базе данных системы сбора метеорологической информации «Гидрометцентра России» для хранения показаний температуоы воздуха используется таблица indication (рис.1), состоящая из двух столбцов:
1) moment (тип DATE) - момент снятия показаний, первичный ключ;
2) value (тип NUMBER) - температура воздуха (по шкале Цельсия).
Задача:
Написать запрос для определения средневзвешенной* температуры за март 2011 года (при условии, что между показаниями температура изменяется линейно - монотонно, рис.2).
На входе: дата начала периода и дата окончания периода.
На выходе: число.

* Средневзвешенная температура - это среднее значение температуры с учетом периода действия показания.
Т.е., если есть показания: 01.07.2010 — 35 ОС, 11.07.2010 — 30 ОС, 21.07.2010 — 25 ОС, 01.08.2010 — 20 ОС, то средневзвешенная температура за июль 2010 года равна
( (35 ОС+30ОС )/2 * 10дн. + (30 ОС +25 ОС )/2 * 10дн + (25 ОС+20 ОС)/2 * 11) / 31дн. = 27,34 ОС


Вот есть пару набросков,но как-то надо их соед-ть в 1 красивый запрос)
Цитата:
Код SQL
SELECT DATE, (SELECT DATE FROM indication WHERE rownum > 1) AS Date2, NUMBER, (SELECT NUMBER FROM indication WHERE rownum > 1) AS number2
//выводит 4 столбца, дополнительные это исходные без первой строки, так получаем в строке соседние даты
SELECT SUM( (NUMBER + number2)*(date2-DATE)/31
//вроде как считает по формуле и возвращает число. ток число дней в марте еще надо считать наверно
Вложения
Тип файла: doc Bilet2 (1).doc (54.0 Кб, 7 просмотров)
al583 вне форума Ответить с цитированием
Старый 25.06.2012, 08:36   #2
al583
Новичок
Джуниор
 
Регистрация: 24.06.2012
Сообщений: 2
По умолчанию

Всем спасибо, сделал сам
al583 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать программу для определения принадлежности точки с координатами (х,у) заштрихованной области. Попадание на границу области sanek@zaputan Помощь студентам 5 09.03.2012 12:00
область определения для cos PotatoCaptain Общие вопросы C/C++ 1 05.12.2011 17:36
Дано натуральное число п. Написать программу для определения первой цифры числа п. AlenaVasilenko Паскаль, Turbo Pascal, PascalABC.NET 5 17.06.2011 18:23
написать программу на c\c++ определения длинны всех слов во введенной строке jakof Помощь студентам 1 27.12.2010 14:16
Программа для определения CPU netsky2004 Паскаль, Turbo Pascal, PascalABC.NET 0 10.01.2009 02:07