Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите плиз с запросом
|
|||
|---|---|---|---|
|
#18+
Добрый день Есть таблица, в которую пишутся показания сенсоров вместе с датой сбора. Структура таблицы примерно такая: value | date | sensor_id ------------------------------- 1 | 2017-08-23 | 1 5 | 2017-08-24 | 1 7 | 2017-08-25 | 1 10 | 2017-08-26 | 1 8 | 2017-08-27 | 1 ... 100 | 2017-08-23 | 2 120 | 2017-08-24 | 2 110 | 2017-08-25 | 2 180 | 2017-08-26 | 2 200 | 2017-08-27 | 2 Мне нужно получить аггрегированые данные сенсоров по времени: - нужна разница между самым первым и самым последним показателем (для sensor_id=1 это будет "8 - 1 = 7") - среднее значение показателей за все время (для sensor_id=1 это будет "(1 + 5 + 7 + 10 + 8) / 5 = 6.2") Помогите пожалуйста с запросом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2017, 09:48 |
|
||
|
Помогите плиз с запросом
|
|||
|---|---|---|---|
|
#18+
create table xTest( value int ,"date" date ,sensor_id int ); insert into xTest VALUES (1,'2017-08-23',1) ,(5 , '2017-08-24' , 1) ,(7 , '2017-08-25' , 1) ,(10, '2017-08-26' , 1) ,(8 , '2017-08-27' , 1) ,(100 , '2017-08-23' , 2) ,(120 , '2017-08-24' , 2) ,(110 , '2017-08-25' , 2) ,(180 , '2017-08-26' , 2) ,(200 , '2017-08-27' , 2) ; 1) with d as ( select sensor_id ,max(date) as dmax ,min(date) as dmin from xTest group by sensor_id ) select d.sensor_id ,mxV.Value-mnv.Value as d from D D ,xTest mnV ,xTest mxV where D.sensor_id=mnV.sensor_id and D.dmin=mnv.date and D.sensor_id=mxV.sensor_id and D.dmax=mxv.date 2) select sensor_id ,avg(value) as middlev from xTest group by sensor_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2017, 14:10 |
|
||
|
Помогите плиз с запросом
|
|||
|---|---|---|---|
|
#18+
Mr.DKSoftcreate table xTest( value int ,"date" date ,sensor_id int ); insert into xTest VALUES (1,'2017-08-23',1) ,(5 , '2017-08-24' , 1) ,(7 , '2017-08-25' , 1) ,(10, '2017-08-26' , 1) ,(8 , '2017-08-27' , 1) ,(100 , '2017-08-23' , 2) ,(120 , '2017-08-24' , 2) ,(110 , '2017-08-25' , 2) ,(180 , '2017-08-26' , 2) ,(200 , '2017-08-27' , 2) ; 1) with d as ( select sensor_id ,max(date) as dmax ,min(date) as dmin from xTest group by sensor_id ) select d.sensor_id ,mxV.Value-mnv.Value as d from D D ,xTest mnV ,xTest mxV where D.sensor_id=mnV.sensor_id and D.dmin=mnv.date and D.sensor_id=mxV.sensor_id and D.dmax=mxv.date 2) select sensor_id ,avg(value) as middlev from xTest group by sensor_id Спасибо большое, работает ! (хоть и очень медленно :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2017, 14:45 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39518267&tid=1996240]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 13ms |
| total: | 134ms |

| 0 / 0 |
