|
|
|
Применение OVER(PARTITION BY...
|
|||
|---|---|---|---|
|
#18+
Возможно вопрос тривиальный, но работает ли OVER в mysql? Необходимо рассчитать для каждого десятка значений среднее (или найти скользящее среднее), так чтобы количество строк не изменилось. Возможно это можно сделать с group by, но я не знаю как. что-то типо такого запроса пытаюсь: select id, latitude, longitude ,AVG(track.latitude) OVER(PARTITION BY track.id mod 10=0) AS "Avglatitude" ,AVG(track.longitude) OVER(PARTITION BY track.id mod 10=0) AS "Avglongitude" from gps.track ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 10:40 |
|
||
|
Применение OVER(PARTITION BY...
|
|||
|---|---|---|---|
|
#18+
belgработает ли OVER в mysql?ОФ в мускле не просто "не работают", их тут вообще нет. Если очень надо их сэмулировать, посмотрите FAQ: Нумерация строк и другие вопросы про использование переменных . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 10:42 |
|
||
|
Применение OVER(PARTITION BY...
|
|||
|---|---|---|---|
|
#18+
belg, прямая дорога к скалярным коррелированным подзапросам в кляузе select. раньше и в других СУБД так делали, когда у них не было оконно-аналитических функций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 11:41 |
|
||
|
Применение OVER(PARTITION BY...
|
|||
|---|---|---|---|
|
#18+
belgВозможно вопрос тривиальный, но работает ли OVER в mysql? ответ тоже тривиальный. нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 11:51 |
|
||
|
Применение OVER(PARTITION BY...
|
|||
|---|---|---|---|
|
#18+
С OVER в mysql все ясно. Кто-нибудь может подскажет как запрос по скользящему среднему составить в mysql? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:07 |
|
||
|
Применение OVER(PARTITION BY...
|
|||
|---|---|---|---|
|
#18+
belgС OVER в mysql все ясно. Кто-нибудь может подскажет как запрос по скользящему среднему составить в mysql? Добрый Э - Эх скалярным коррелированным подзапросам в кляузе select. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 12:09 |
|
||
|
Применение OVER(PARTITION BY...
|
|||
|---|---|---|---|
|
#18+
belgС OVER в mysql все ясно. Кто-нибудь может подскажет как запрос по скользящему среднему составить в mysql? Это не сложно но занудно. Сначала предстазвьте себе что вы пишете процедуру и цикл на каждую строчку и вам надо выдать среднее последних трех значений. очевидно, надо иметь все три последние значения в наличии текушее значение Z предыдушее Z1 и предыдушее Z2 т.е. где то в середине кода будет AvergeX = ( z + z1 + z2 ) / 3 тепер- подумаем как переносить значения на следуюший цикл. Пишем сдвиг Z2 = Z1 Z1 = Z и можно смело крутить колесо на следуюший цикл... а теперь посмотрите как это сделано на МуСКЛе: select (z + @z1 + @z2) / 3 as AverageX, @z2:=@z1 qq1, @z1:=z qq2 from Tabl1, (select @z1:=0, @z2:=0) q -- это просто инициализация переменных order by X -- должен быть кокаой-нибуть детерминированый порядок записей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2016, 22:44 |
|
||
|
Применение OVER(PARTITION BY...
|
|||
|---|---|---|---|
|
#18+
javajdbc, спасибо большое, разобрался, очень помогли!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2016, 06:40 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=96&tid=1831587]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 326ms |

| 0 / 0 |
