|
|
|
| Здравствуйте
Есть поле int, со значениями от '1' до '10' в возрастающем порядке
Мне нужно получить результат:
Число из середины списка, например '3' сделать последним, переименовать в '10',
а оставшимуся ряду 1,2,4,5,6,7,8...дать новые значения 1,2,3,4,5,6,7...
Помогите пожалуйста... | |
|
|
|
|
|
|
|
для: wallress
(18.10.2008 в 16:17)
| | строки в таблице лежат внавал без какого-либо наперед гарантированного порядка.
Поэтому фраза "Есть поле int, со значениями от '1' до '10' в возрастающем порядке" смысла не имеет. | |
|
|
|
|
|
|
|
для: Trianon
(18.10.2008 в 16:35)
| | [code]
id number type color
12 1 as red
45 2 sd green
..........................................
65 10 ва blue
/code]
id primary key, строки которые 'отключаются' пререносятся на последнюю позицию по полю number, а остальные должны должны выстроится в ряд...
Ну кто-то ушел передо мной из очереди, я был девятым а стал восьмым, восьмой седьмым... | |
|
|
|
|
|
|
|
для: wallress
(18.10.2008 в 16:55)
| | Обмен номеров 2-й и 10-й строк:
UPDATE tbl SET number = 2+10-number WHERE number IN (2, 10)
|
смещение номеров с 3 по 9
UPDATE tbl SET number = number-1 WHERE number BETWEEN 3 AND 9
|
| |
|
|
|
|
|
|
|
для: Trianon
(18.10.2008 в 17:18)
| | Большое спасибо))
Вот еще вариант:
UPDATE tables SET number = IF(number=3, 10, IF(number>3, number-1, number))
Работает... | |
|
|
|