Я создал торгового бота и использую MySQL для импорта данных и расчета технических индикаторов. Я хочу создать функцию, которая позволит мне импортировать данные чаще и контролировать интервал выбора данных.
Есть ли запрос, который позволит мне выбирать данные с фиксированным интервалом в mysql?
SELECT * FROM PriceHistory
WHERE `RefrenceID`=1001
and `TimeStamp` > (SELECT max(`TimeStamp`) FROM PriceHistory) -
Interval 1440 Minute
Group by `TimeStamp`;
Используя этот запрос явозможность выбора ценовых данных за последние 24 часа.Есть ли решение для меня, чтобы выбрать данные с интервалами 5 минут, 10 минут, 30 минут и т. Д.?
DataSet Example
`TimeStamp` `RefrenceID`
1. 2018-12-14 23:00:05 1001
2. 2018-12-14 23:05:10 1001
3. 2018-12-14 23:11:16 1001
4. 2018-12-14 23:16:21 1001
5. 2018-12-14 23:21:25 1001
6. 2018-12-14 23:26:30 1001
7. 2018-12-14 23:32:41 1001
8. 2018-12-14 23:37:46 1001
9. 2018-12-14 23:42:51 1001
10. 2018-12-14 23:47:51 1001
11. 2018-12-14 23:52:56 1001
Я подумал о двух возможных решениях, к сожалению, я еще не понял, как их реализовать.
добавитьauto-increment-id для моей таблицы, создайте запрос, который выбирает номер строки.создайте локальную переменную @rownum
и выделите все строки, где @rownum = @rownum + (интервал).
Выберите первую метку времени, создайте локальные переменные @start_time
, @offset
, @count
затем выберите min (TimeStamp
)> @start_time + INTERVAL (@offset
* @count
) MINUTE
Проблемы, с которыми я сталкиваюсь при использовании автоматического увеличенияРешение с использованием идентификаторов заключается в том, что я отслеживаю цену 220 элементов в одной и той же таблице (поэтому последовательные идентификаторы не будут работать), и поэтому может потребоваться создание новой строки индекса в начале запроса.Другая проблема, с которой я сталкиваюсь, заключается в том, что мой код является синхронным, и поэтому из-за других запущенных процессов каждый импорт данных занимает от 5 минут до 5 минут 30 секунд.
спасибо за вашу помощь!
С наилучшими пожеланиями,
slurp
Expected output:
1. 2018-12-14 23:00:05 1001
3. 2018-12-14 23:11:16 1001
5. 2018-12-14 23:21:25 1001
7. 2018-12-14 23:32:41 1001
9. 2018-12-14 23:42:51 1001
11. 2018-12-14 23:52:56 1001