Как сделать выборку из таблицы каждые 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-ые значения.
SELECT * FROM (
— начало запроса SQLSELECT @ROW := @ROW +1 AS rownum, t.* FROM (
— здесь создается псевдослучайная переменная@ROW
, которая инициализируется значением 0. Этот подзапрос необходим для того, чтобы иметь возможность считать количество строк в таблице.SELECT @ROW :=0) r, my_table t
— здесь происходит инициализация переменной@ROW
значением 0.WHERE rownum % 10 = 0
— в этом блоке осуществляется фильтрация строк. Выбираются только те строки, номер которых (после добавления единицы к значению переменной@ROW
) делится на 10 без остатка. Таким образом, данный запрос выбирает каждую 10-ую строку из таблицыmy_table
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д