Denis Опубликовано 28 июля, 2011 Опубликовано 28 июля, 2011 SELECT DATEADD(mi, - datepart(mi, convert(smalldatetime, SimpleTime)) & 1, convert(smalldatetime, SimpleTime)) as SimpleTime, avg(Chann06) FROM Test.dbo.Data_217807_8_0_8 where SimpleTime between '20110628 14:00:00.000' and '20110628 16:00:00.000' group by DATEADD(mi, - datepart(mi, convert(smalldatetime, SimpleTime)) & 1, convert(smalldatetime, SimpleTime)) order by 1 Этот запрос выбирает данные из заданного диапазона и выводи среднее значение каждые две минуты. SELECT convert(varchar(13), [simpleTime], 120) + ':00' + ':00', avg(Chann06) FROM Test.dbo.Data_217807_8_0_8 where SimpleTime between '20110628 14:00:00.000' and '20110628 16:00:00.000' group by convert(varchar(13), [simpleTime], 120) + ':00' + ':00' Этот запрос делает тоже самое только он почасовой. А как сделать по минутыный вывод с теме же условиями что и в двух предидуших запросах(в БД записи пишутся каждую секунду. тоесть надо посчитать среднее значение по минутно в заданном диапазоне).
htc Опубликовано 29 июля, 2011 Опубликовано 29 июля, 2011 Как как? select avg(Chann06) as Chann06, min(date) as date from table where date > begin_period and date < end_period group by date_trunc('minute',date); Это для psql, для своего делфи ебитесь сами. И читатните вот это: http://www.sql.ru/docs/sql/u_sql/index.shtml И открою тайну если в этом заросе поменять только 'minute' на 'hour','day','second' то он будет группировать по часам\дням\секундам и т.д.
Denis Опубликовано 29 июля, 2011 Автор Опубликовано 29 июля, 2011 В первом запросе меняем mi на ss. И получаем нужный результат. В итоге ответил сам на свой вапрос.
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.