yurik_maz
@yurik_maz

"Порядковая" сортировка данных в Mysql?

Суть вопроса на примере:
есть набор данных
id title order_data
1 итем 1
2 итем 2
3 итем 3
4 итем 4
5 итем 4
6 итем 3
7 итем 2
8 итем 1
9 итем 1
10 итем 2
11 итем 3
...
....
Как с данной таблицы выбрать записи с сортировкой по полю order_data, но по возрастанию значенияй этого поля: 1,2,3,4, потом снова 1,2,3,4, потом снова 1,2,3,4 и т.д,?
на выходе должно получится список по ИД 1,2,3,4,8,7,6,5,8,10,11...
1,2,3,4 - не фикс. данные, может быть, для примера, от 1 до 15, от 60 до 80 ну и т.д.
И еще момент, если мы для примера, дошли до 10 старницы, а у нас остались данные только где order_data 1 и 2, то сортировка соответственно уже по 1, 2 а не по всех 1,2,3,4...

Спасибо.
Буду благодарен за любые подсказки.
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 2
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
SELECT * FROM table ORDER BY CEIL(id/4) ASC, order_data ASC
4 в делении менять на 15, 60-80, в общем - по вкусу.

А вот с 10-ой страницы и другое правило - уже не сделать.
Только обработкой уже в самом срипте, считывающем данные из базы.
Ответ написан
yurik_maz
@yurik_maz Автор вопроса
нашол на хабре нужный материал под данную задачу https://habr.com/post/325316/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы