Как сделать выборку из таблицы каждые 10 или n-ое кол-во значений - MySQL

Узнай цену своей работы

Формулировка задачи:

Как сделать выборку из таблицы каждые 10 или n-ое кол-во значений, в таблице есть timestamp, может это по времени как то сделать

Решение задачи: «Как сделать выборку из таблицы каждые 10 или n-ое кол-во значений»

textual
Листинг программы
SELECT *
          FROM ( 
                SELECT @ROW := @ROW +1 AS rownum, t.*
                FROM (
                       SELECT @ROW :=0) r,  my_table t
                     ) ranked
                WHERE rownum % 10 = 0

Объяснение кода листинга программы

В данном коде реализуется выборка из таблицы каждые 10-ые или n-ые значения.

  1. SELECT * FROM ( — начало запроса SQL
  2. SELECT @ROW := @ROW +1 AS rownum, t.* FROM ( — здесь создается псевдослучайная переменная @ROW, которая инициализируется значением 0. Этот подзапрос необходим для того, чтобы иметь возможность считать количество строк в таблице.
  3. SELECT @ROW :=0) r, my_table t — здесь происходит инициализация переменной @ROW значением 0.
  4. WHERE rownum % 10 = 0 — в этом блоке осуществляется фильтрация строк. Выбираются только те строки, номер которых (после добавления единицы к значению переменной @ROW) делится на 10 без остатка. Таким образом, данный запрос выбирает каждую 10-ую строку из таблицы my_table.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5
Похожие ответы