Вопрос № 87960: В базу данных каждыу 5 минут вводятся информация с счетчиков. Мне надо
составить запрос на SQL который будет выводить усредненные показатели за час
т.е выводить например с 12 по 18 часов
12 часов такое то значение
13 часов -//-...
Вопрос № 87.960
В базу данных каждыу 5 минут вводятся информация с счетчиков. Мне надо
составить запрос на SQL который будет выводить усредненные показатели за час
т.е выводить например с 12 по 18 часов
12 часов такое то значение
13 часов -//-
14 и т.д.
Отправлен: 21.05.2007, 21:07
Вопрос задал: Aspnet (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: dianacode
Доброе время суток, Aspnet
select hour(registered), avg(param) from mytable group by hour(registered) order by hour(registered);
с уважением, удачи
--------- there is more than one way to do it
Ответ отправила: dianacode (статус: Студент)
Ответ отправлен: 21.05.2007, 23:00
Отвечает: Виктор Пырлик
Здравствуйте, Aspnet!
Возможно так...
SELECT AVG(value) AS AVG_VALUE, DATENAME(HOUR,TIME_HIST) AS CUR_HOUR FROM Table
GROUP BY DATENAME(HOUR,TIME_HIST)
--------- Надо пребывать господа, пребывать! Иначе ничего не получится!
Ответ отправил: Виктор Пырлик (статус: 3-ий класс)
Ответ отправлен: 21.05.2007, 23:07
Отвечает: Челноков Виктор Альбертович
Здравствуйте, Aspnet!
Пример для MS SQL. Таблица dg_priama, в ней поля dat_pr тип datetime, prichina тип bigint
Вариант запроса :
SELECT TOP (100) PERCENT YEAR(dat_pr) AS год, MONTH(dat_pr) AS месяц, DAY(dat_pr) AS день, DATEPART(hour, dat_pr) AS час, AVG(prichina)
AS значение
FROM dbo.dg_priama
GROUP BY YEAR(dat_pr), MONTH(dat_pr), DAY(dat_pr), DATEPART(hour, dat_pr)
ORDER BY год, месяц, день, час