на самом деле это вопрос сортировки, который почти решен благодаря другим сообщениям, которые я нашел здесь в StackOverflow.
В основном я пытаюсь поднять строку вверх, нет необходимости вставлять ее где-то посередине таблицы и менять все следующие строки id только на одно место (заменить идентификатор заказа на предыдущий). Я нашел решение для этого в другой почте, КОГДА идентификатор известен, например.
1 | Джон | самка
2 | Джейн | Датчанин
но моя таблица имеет пробелы и часто больше похожа на
2 | Джон | самка
7 | Джейн | Датчанин
Поэтому я не могу положиться на вычитание id на 1 и замену строки 7 номером строки 7-1.
Можно ли как-то перевернуть строку id X с предыдущей, не зная другого id?
Можно ли это сделать только SQL? У меня есть идея php-ing, но это похоже на исправление не решение.
Это будет работать в SQL Server, я тоже предполагаю в MySQL:
SELECT *
FROM MyTable MT
...
WHERE ID = (SELECT MAX(ID) FROM MyTable MT2 WHERE ID < MT.ID)