Общие > Базы данных
Сортировка в MySQL чтоб как я хочу
Goodwin:
Прайс лежит в базе MySQL.
Есть тем, конечно, индекс, но результат все равно выдается как бог на душу положит.
Скажем, есть в прайсе позиции Стул белый, Стул серый, Стол.
Так он их выдает в таком порядке: Стул белый, Стол, Стул серый.
Как сделать так, чтобы расположение позиций можно было менять (или добавить позицию в центр прайса, а не в конец)?
Сейчас я вижу только один вариант - вручную переписывать индекс, но при большом объеме это не выход.
NeoNox:
Поиск по этому форуму.
Много раз обсуждалось.
ThE0ReTiC:
Введи поде в таблице, характеризующее позицию товара в прайс листе.
Гость:
Да я уж обыскался. Какие слова не в вожу - никак то, что надо не находится.
>>Введи поде в таблице, характеризующее позицию товара в прайс листе.
Я тоже думал об этом. Но если в таблице сто товаров и я хочу на пятое место что-то добавить, то ко всем остальным придется вручную добавлять единичку? Можно, конечно, это реализовать программно, но по-моему это можно как-то проще сделать. Должна же быть какая-то функция "вставить между строк". :-)
fidget:
> Должна же быть какая-то функция "вставить между строк". :-)
нет, не должна, потому что СУБД хранит данные в неупорядоченном виде и ей все равно какая у тебя по счету эта строка 5я или 7я.
> о ко всем остальным придется вручную добавлять единичку?
сложно сделать:
update table set position=position+1 where position>\'some number\' order by position desc
?
Навигация
Перейти к полной версии