Запросить скользящее среднее 30-секундного временного окна с сдвигом вперед на 5 секунд - PullRequest
0 голосов
/ 07 апреля 2020

Используемый мной набор данных:

имя таблицы: сердечно-сосудистая

+------------+--------------------------+----------+--------+
| idSubject  | datetime                 |   SYS    | DIA    | 
+------------+--------------------------+----------+--------+
| 1          |  2014-09-09 15:11:22.515 |   0.00   | 0.00   |
| 1          |  2014-09-09 15:11:23.360 |   0.00   | 0.00   |
| 1          |  2014-09-09 15:11:24.245 |   0.00   | 0.00   |
| 1          |  2014-09-09 15:11:25.150 |   0.00   | 0.00   |
| 1          |  2014-09-09 15:11:26.060 |   0.00   | 0.00   |
| 1          |  2014-09-09 15:11:26.935 |   0.00   | 0.00   |
| 1          |  2014-09-09 15:11:27.775 |   0.00   | 0.00   |   
| 1          |  2014-09-09 15:11:28.585 |   0.00   | 0.00   |
| 1          |  2014-09-09 15:11:29.500 |   0.00   | 0.00   |
| 1          |  2014-09-09 15:11:30.510 |   0.00   | 0.00   |
| 1          |  2014-09-09 15:11:31.494 |   103.00 | 56.00  |   
| 1          |  2014-09-09 15:11:32.466 |   104.00 | 54.00  |
| 1          |  2014-09-09 15:11:33.464 |   97.00  | 50.00  |
| 1          |  2014-09-09 15:11:34.415 |   97.00  | 50.00  |
| 1          |  2014-09-09 15:11:35.390 |   97.00  | 50.00  |
| 1          |  2014-09-09 15:11:36.365 |   97.00  | 50.00  |
| 1          |  2014-09-09 15:11:37.300 |   97.00  | 50.00  |
| 1          |  2014-09-09 15:11:38.288 |   97.00  | 53.00  |
| 1          |  2014-09-09 15:11:39.259 |   98.00  | 53.00  |
| 1          |  2014-09-09 15:11:40.224 |   96.00  | 54.00  |
| 1          |  2014-09-09 15:11:41.189 |   99.00  | 54.00  |
| 1          |  2014-09-09 15:11:42.184 |   100.00 | 55.00  |
| 1          |  2014-09-09 15:11:44.202 |   97.00  | 55.00  |   
| 1          |  2014-09-09 15:11:45.191 |   99.00  | 55.00  |
| 1          |  2014-09-09 15:11:46.201 |   99.00  | 56.00  |
| 1          |  2014-09-09 15:11:47.229 |   99.00  | 56.00  |   
| 1          |  2014-09-09 15:11:48.230 |   99.00  | 56.00  |   
| 1          |  2014-09-09 15:11:49.240 |   99.00  | 56.00  |   
| 1          |  2014-09-09 15:11:50.215 |   99.00  | 56.00  |   
| 1          |  2014-09-09 15:11:51.210 |   99.00  | 56.00  |   
| 1          |  2014-09-09 15:11:52.229 |   109.00 | 67.00  |   
| 1          |  2014-09-09 15:11:53.214 |   111.00 | 67.00  |   
| 1          |  2014-09-09 15:11:54.271 |   110.00 | 64.00  |   
| 1          |  2014-09-09 15:11:55.331 |   107.00 | 64.00  |   
| 1          |  2014-09-09 15:11:56.354 |   107.00 | 64.00  |   
| 1          |  2014-09-09 15:11:57.396 |   106.00 | 61.00  |   
| 1          |  2014-09-09 15:11:58.451 |   102.00 | 59.00  |   
| 1          |  2014-09-09 15:11:59.466 |   103.00 | 61.00  |   
| 1          |  2014-09-09 15:12:00.519 |   101.00 | 57.00  |   
| 1          |  2014-09-09 15:12:01.563 |   97.00  | 57.00  |   
| 1          |  2014-09-09 15:12:02.535 |   97.00  | 57.00  |   
| 1          |  2014-09-09 15:12:03.555 |   97.00  | 57.00  |   
| 1          |  2014-09-09 15:12:04.610 |   97.00  | 57.00  |   
| 1          |  2014-09-09 15:12:05.640 |   97.00  | 57.00  |   
| 1          |  2014-09-09 15:12:06.734 |   103.00 | 61.00  |   
| 1          |  2014-09-09 15:12:07.801 |   100.00 | 60.00  |   
| 1          |  2014-09-09 15:12:08.831 |   103.00 | 61.00  |   
| 1          |  2014-09-09 15:12:09.871 |   104.00 | 62.00  |   
| 1          |  2014-09-09 15:12:10.913 |   102.00 | 61.00  |   
| 1          |  2014-09-09 15:12:11.897 |   106.00 | 65.00  |   
| 1          |  2014-09-09 15:12:12.896 |   108.00 | 66.00  |   
| 1          |  2014-09-09 15:12:13.946 |   108.00 | 67.00  |   
| 1          |  2014-09-09 15:12:15.016 |   108.00 | 66.00  |   
| 1          |  2014-09-09 15:12:16.111 |   106.00 | 63.00  |   
| 1          |  2014-09-09 15:12:17.225 |   106.00 | 63.00  |   
| 1          |  2014-09-09 15:12:18.295 |   106.00 | 63.00  |   
| 1          |  2014-09-09 15:12:19.375 |   106.00 | 63.00  |   
| 1          |  2014-09-09 15:12:20.445 |   106.00 | 63.00  |   
| 1          |  2014-09-09 15:12:21.491 |   103.00 | 62.00  |   
| 1          |  2014-09-09 15:12:22.531 |   105.00 | 62.00  |   
| 1          |  2014-09-09 15:12:23.589 |   103.00 | 61.00  |   
| 1          |  2014-09-09 15:12:24.638 |   104.00 | 62.00  |   
| 1          |  2014-09-09 15:12:25.656 |   105.00 | 63.00  |   
| 1          |  2014-09-09 15:12:26.668 |   105.00 | 63.00  |   
| 1          |  2014-09-09 15:12:27.679 |   105.00 | 66.00  |   
| 2          |  2014-09-26 09:21:45.675 |   0.00   | 0.00   |   
+------------+--------------------------+----------+--------+

Мне нужно рассчитать: - среднее значение для SYS и DIA (для окна 30 секунд в среднем) - начальное значение нужно пропустить, пока они не станут равными 0 - после первого среднего мне нужно, чтобы все сместилось вперед на 5 секунд, а затем снова вычислило 30-секундное среднее - команда должна остановиться и начать снова, когда изменение idSubject (например, от 1 до 2, от 2 до 3 ...)

...