Смещение LIMIT или OFFSET в SQL-запросе UPDATE

У меня есть таблица, похожая на эту:

| 0 | X  |
| 1 | X  |
| 2 | X  |
| 3 | Y  |
| 4 | Y  |
| 5 | X  |
| 6 | X  |
| 7 | Y  |
| 8 | Y  |
| 9 | X  |

Я хотел бы заменить первые 2 вхожденияX сX1а затем 4 следующих вхождения сX2 так что итоговая таблица выглядит так:

| 0 | X1 |
| 1 | X1 |
| 2 | X2 |
| 3 | Y  |
| 4 | Y  |
| 5 | X2 |
| 6 | X2 |
| 7 | Y  |
| 8 | Y  |
| 9 | X2 |

Таблица, о которой идет речь, конечно, намного больше, и, следовательно, число вхождений также будет выше, поэтому ручное редактирование не является решением.

Я хотел бы сделать что-то вроде этого:

UPDATE table SET column = 'X' WHERE column = 'X2' LIMIT 90, 88

но, к сожалению, MySQL, похоже, не поддерживает OFFSET в запросах UPDATE ... Есть ли способ сделать это?

Ответы на вопрос(2)

есть ли у вас идентификатор в таблице или нет, но вы можете использовать Где ID между 88 и 90, MySQL не поддерживает смещение в запросе на обновление, но вы можете сделать это, ограничив использованиеМЕЖД команда

Решение Вопроса

UPDATE table SET column = 'X1' WHERE id IN(SELECT id FROM (SELECT id FROM table WHERE column = 'X' LIMIT 2) as u);

а пото

UPDATE table SET column = 'X2' WHERE id IN(SELECT id FROM (SELECT id FROM table WHERE column = 'X' LIMIT 4) as u);

Ваш ответ на вопрос