Перейти к содержанию

SQL запрос


Denis

Рекомендуемые сообщения

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'

 

Этот запрос делает тоже самое только он почасовой. А как сделать по минутыный вывод с теме же условиями что и в двух предидуших запросах(в БД записи пишутся каждую секунду. тоесть надо посчитать среднее значение по минутно в заданном диапазоне).

Ссылка на комментарий
Поделиться на другие сайты

Как как?

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' то он будет группировать по часам\дням\секундам и т.д.

Ссылка на комментарий
Поделиться на другие сайты

В первом запросе меняем mi на ss. И получаем нужный результат. В итоге ответил сам на свой вапрос.

Ссылка на комментарий
Поделиться на другие сайты

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

×
×
  • Создать...