Суммирование сумм MySQL при перекрывающихся диапазонах дат

0

У меня возникают проблемы, даже зная, где начать такой запрос. В основном мне предоставляется база данных с определенными объемами, и мой босс хочет, чтобы я преобразовал эти данные SQL в представление. Я нахожусь над моей головой и не знаю, с чего начать или как выполнить то, что мне нужно выполнить :(

У меня есть таблица вроде этого:

record_id    amount    start_date    end_date
1            20000     2018-01-01   2018-12-01
1            -15000    2018-02-01   2018-04-01
1            50000     2018-04-02   2018-06-30

И мне нужно, чтобы это выглядело так:

record_id    amount   start_date    end_date
1            20000    2018-01-01    2018-01-30
1            5000     2018-02-01    2018-04-01 
1            70000    2018-04-02    2018-06-30
1            20000    2018-07-01    2018-12-01

Таким образом, во всех перекрывающихся диапазонах дат мы вычисляем сумму и разделяем ее на новую строку. Как только этот диапазон дат закончится, мы вернемся к строке, которая продлилась до декабря. Это всего лишь один пример, и строки привязаны уникальным record_id и будут иметь разные количества и диапазоны дат. Некоторые строки даже не перекрываются.

Как я даже начинаю писать такой запрос? Является ли MySQL правильным выбором для этого?

  • 0
    MySQL (если не версия 8) не является оптимальным для этой проблемы. Какие у вас есть другие варианты?
  • 0
    @GordonLinoff Я могу использовать PHP (система, в которой он окажется) или, если проще, я могу использовать Python и импортировать его обратно в MySQL
Показать ещё 3 комментария
Теги:

1 ответ

0

Я думаю, вам нужно разделить это.

Используйте MySQL для запроса данных, но то, что вы хотите сделать, требует довольно много обработки.

Я хотел бы изучить некоторые объектно-ориентированные языки (PHP, С#, Python), чтобы позаботиться обо всей логике попытки подсчета сумм.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню