SQL-запрос для выбора, но пропускает определенные строки

#mysql

#mysql

Вопрос:

У меня есть таблица с именем «MYTABLE», которая выглядит следующим образом:

 ID   | TIMESTAMP  | DATA
1    | 150233939  | xxx
2    | 150233940  | xxx
3    | 150233941  | xxx
4    | 150233942  | xxx
5    | 150233943  | xxx
6    | 150233944  | xxx
7    | 150233945  | xxx
8    | 150233946  | xxx
9    | 150233947  | xxx
  

Я могу легко получить все элементы, используя:

 SELECT * FROM MYTABLE
  

Но эта таблица станет массивной и содержит точки данных, которые будут показаны на графике. Поэтому вместо получения ВСЕХ точек данных я хочу, чтобы они были разнесены. Например, я хочу запрос, который возвращал бы

 1,3,5,7,9
  

Или:

 1,4,8,9
  

Есть ли способ сделать это на уровне запроса?

Обновить

Я смог получить данные следующим образом:

 SELECT * FROM MYTABLE where mod(id,5) = 0
  

Это довольно хорошо разделяет данные, но это ОЧЕНЬ МЕДЛЕННО. Есть ли другой способ сделать это быстрее?

Комментарии:

1. Добавьте в соответствии с WHERE — WHERE id IN (1,3,5,7,9) , например.

2. Гарантируется ли непрерывность последовательности (без перерывов)? Если это так, см. MOD() (и UNION) вы хотите, чтобы результаты модуля были объединены с первым и последним результатами.

3. У меня есть огромный набор точек данных. По одному каждую секунду. Я пытаюсь получать данные раз в минуту или раз в 5 минут, чтобы загрузка графика не занимала год.