У меня есть таблица, которая содержит данные, записываемые каждую минуту, поэтому у меня есть строка для каждой минуты. При возврате данных для обработки эта точность требуется в течение последних 6 часов, но после этого достаточно более низкий уровень точности, например каждые 5 минут.
Я могу вернуть все данные в массив, а затем удалить все, кроме каждого 5-го элемента, но для этого требуется, чтобы все данные были возвращены MySQL, а затем сначала прочитаны в массив - довольно много данных.
Как я могу вернуть каждую n-ю строку в MySQL? Я прочитал это сообщение в блоге, в котором предлагается использовать primaryKey% 5 = 0, где primaryKey - auto_increment, но это
а) не использует индексы
b) будет возвращать только значения primaryKey, которые делятся на 5, а в случае удалений могут быть не на каждой 5-й строке
Может ли это быть сделано только внутри SQL-запроса, или потребуется циклический цикл по результирующему набору результатов с помощью курсоров?
Я использую MySQLi в PHP для подключения к БД.