«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как изменить порядок записей в таблице с помощью одного SQL-запроса?

Как изменить порядок записей в таблице с помощью одного SQL-запроса?

Опубликовано 22 ноября 2024 г.
Просматривать:398

How to Reorder Records in a Table with a Single SQL Query?

Изменение порядка записей с помощью одного SQL-запроса

В таблице продуктов питания с полем «Позиция» для упорядочения их внешнего вида SQL-запрос может обновлять несколько записей на основе изменения одной записи. Это особенно полезно для изменения порядка элементов в определенном списке.

Предположим, у нас есть таблица вида это:

idlistIDимяпозиция
1 1сыр0
21чипсы1
31бекон2
41яблоки3
51груши4
61пирог 5

Кому перемещая груши перед фишками, мы можем увеличить позицию всех элементов между ними на 1.

Однако большинство решений включают в себя несколько запросов, что может быть неэффективно. Вместо этого для изменения порядка записей можно использовать один запрос:

UPDATE my_table
SET position = position   CASE
    WHEN name = 'pears' THEN -3
    ELSE 0
    END
WHERE listID = 1 AND position BETWEEN 1 AND 4;

Эта формула гарантирует, что груши перемещаются в позицию 1, а все элементы между грушами и фишками соответственно увеличиваются.

Чтобы изменить порядок любого элемента, просто замените «груши» на имя перемещаемого элемента и при необходимости отрегулируйте разницу.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3