@GLaDosSystem

Как поделить таблицу SQL на N частей и выполнить на каждой вычисления?

Есть таблица вроде этой:
timestamp           | a   | b
-------------------------------
01.02.2018 10:20:05 | 100 | 200
01.02.2018 10:20:10 | 150 | 150
01.02.2018 10:20:15 | 100 | 300

...... ещё очень много строчек .......


Могу ли я поделить всю эту таблицу на n-ное кол-во частей с примерно равным количеством строчек, после чего выполнить над этими частями определённое математическое действие (вроде avg())?
По поводу деления таблицы - вот здесь эта задача хорошо описана.
  • Вопрос задан
  • 279 просмотров
Пригласить эксперта
Ответы на вопрос 2
TheRonCronix
@TheRonCronix
Даю идею (синтаксис не проверял):

select mod(rn, N) part_number,
t1.*
from
(
select t.*,
row_number() over() rn
from table as t
) as t1

N - кол-во частей, table - ваша таблица.
Ответ написан
Комментировать
@d-stream
Готовые решения - не подаю, но...
Расплывчатое какое-то желание из серии посчитать очень точно сумму случайных строк)

А вообще - оконные функции - там как раз over partition by - останется только задать как именно партицировать и что делать в овере
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы