Каждую n-ную выбрать так (пример для каждой 60-й):
SELECT @row := @row + 1 row, t.id
FROM table t, (SELECT @row := 0) row
GROUP BY t.id
HAVING row % 60 = 0
Проблема очевидна: идет выборка всех строк, и далее фильтрация по having. Да, по индексу все должно работать быстро и фильтрация на уровне бд будет быстрее, чем на используемом яп, но это явно не то.
На mysql это делать неверно, есть православный
rrdtool, который и предназначен для работы с последовательностями значений во времени, автоматом получая данные в разрезе некоторого времени (напр. сутки, неделя, месяц, год).