Пожалуйста, помогите мне отсортировать мою таблицу в MySQL.Мне нужно сделать это только один раз, не для использования в скриптах или где-то еще динамически.
Вот моя таблица 'page':
| ... | title | ... | parent_id | ... | position | ... |
Мне нужно обновить таблицу с помощью правила: selectвсе строки с одинаковым parent_id
, отсортируйте их по title
DESC и установите первую строку position
= 0, второй = 1 и т. д. И выполните цикл для всех parent_id
.
Я сделал запросчтобы отобразить то, что мне нужно, но без ОБНОВЛЕНИЯ и только для одного parent_id
.Но поскольку существует несколько тысяч parent_id
, этот запрос нуждается в цикле.И после выбора position
должно быть обновлено, чтобы иметь то же значение, что и @number для текущей строки.
SET @number = -1;
SELECT @number:=@number+1 AS number, p.* FROM `page` AS p WHERE parent_id=1
ORDER BY title DESC;
Спасибо за вашу помощь!