Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Применение OVER(PARTITION BY... / 9 сообщений из 9, страница 1 из 1
08.07.2016, 10:40
    #39270353
belg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применение OVER(PARTITION BY...
Возможно вопрос тривиальный, но работает ли 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
...
Рейтинг: 0 / 0
08.07.2016, 10:42
    #39270355
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применение OVER(PARTITION BY...
belgработает ли OVER в mysql?ОФ в мускле не просто "не работают", их тут вообще нет.
Если очень надо их сэмулировать, посмотрите FAQ: Нумерация строк и другие вопросы про использование переменных .
...
Рейтинг: 0 / 0
08.07.2016, 11:41
    #39270420
Применение OVER(PARTITION BY...
belg,

прямая дорога к скалярным коррелированным подзапросам в кляузе select.
раньше и в других СУБД так делали, когда у них не было оконно-аналитических функций
...
Рейтинг: 0 / 0
08.07.2016, 11:51
    #39270432
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применение OVER(PARTITION BY...
belgВозможно вопрос тривиальный, но работает ли OVER в mysql?

ответ тоже тривиальный.
нет.
...
Рейтинг: 0 / 0
08.07.2016, 12:07
    #39270457
belg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применение OVER(PARTITION BY...
С OVER в mysql все ясно. Кто-нибудь может подскажет как запрос по скользящему среднему составить в mysql?
...
Рейтинг: 0 / 0
08.07.2016, 12:09
    #39270461
Применение OVER(PARTITION BY...
belgС OVER в mysql все ясно. Кто-нибудь может подскажет как запрос по скользящему среднему составить в mysql?
Добрый Э - Эх скалярным коррелированным подзапросам в кляузе select.
...
Рейтинг: 0 / 0
08.07.2016, 22:44
    #39270955
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применение OVER(PARTITION BY...
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 -- должен быть кокаой-нибуть детерминированый порядок записей
...
Рейтинг: 0 / 0
11.07.2016, 06:40
    #39271536
belg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применение OVER(PARTITION BY...
javajdbc, спасибо большое, разобрался, очень помогли!!!
...
Рейтинг: 0 / 0
11.07.2016, 15:22
    #39271829
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Применение OVER(PARTITION BY...
belg,

всегда пожалуйста.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Применение OVER(PARTITION BY... / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]