Как я могу запросить минимальные / максимальные значения для нескольких подинтервалов одновременно в sqlite3? - PullRequest
0 голосов
/ 26 июня 2018

У меня есть таблица sqlite3 со столбцом метки времени и другой столбец с определенным значением.Чтобы получить общее минимальное / максимальное значения, я могу запросить:

SELECT timestamp, max(value), min(value) from myTable;

Результатом является одна строка.

Но есть ли способ запроса отдельных минимальных / максимальных значенийдля одинаковых по размеру подинтервалов?Например, я хочу рассмотреть интервалы размером 10 (включая левую, но исключая правую границу): [0,10), [10,20), [20,30), ... Тогда желаемый результат будет состоять из нескольких строки выглядеть примерно так:

timestamp max(value) min(value)
    0          3         1
   10          5         2
   20         13         0
   30         42        24

Конечно, легко разбить общий запрос на несколько, чтобы получить этот результат построчно, но есть ли способ получить все это в один запрос?

1 Ответ

0 голосов
/ 26 июня 2018

Я сам нашел решение: чтобы получить минимальные / максимальные значения для всех последующих 10-секундных интервалов, кажется, что следующий запрос выполняет эту задачу:

SELECT (timestamp / 10) * 10 as intervalStartTime, min(value), max(value) FROM Test GROUP BY intervalStartTime;

Это предполагает, что отметка времени имеет целочисленный тип,поэтому (timestamp / 10) усекается перед повторным умножением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...