Мне нужно отобразить список записей из таблицы базы данных, упорядоченный по некоторому числовому столбцу. Таблица выглядит так:
CREATE TABLE items (
position int NOT NULL,
name varchar(100) NOT NULL,
);
INSERT INTO items (position, name) VALUE
(1, 'first'),
(5, 'second'),
(8, 'third'),
(9, 'fourth'),
(15, 'fifth'),
(20, 'sixth');
Теперь порядок списка должен меняться в зависимости от параметра, предоставленного пользователем. Этот параметр указывает, какая запись идет первой, например:
position = 0
order should be = 1, 5, 8, 9, 15, 20
position = 1
order should be = 20, 1, 5, 8, 9, 15
position = 2
order should be = 15, 20, 1, 5, 8, 9
Другими словами, последняя запись становится первой и так далее. Можете ли вы придумать способ сделать это в SQL?
Я использую MySQL, но пример для любой базы данных SQL подойдет.
Спасибо