Как выбрать данные из mysql и потом вывести их в нужном порядке

Статус
В этой теме нельзя размещать новые ответы.

dandandan

Мой дом здесь!
Регистрация
7 Авг 2008
Сообщения
1.036
Реакции
292
Есть таблица:
`id` int(10) NOT NULL auto_increment,
`zagolovok` varchar(1000)
Внутри ячейки `zagolovok` хранится
Яйца, Мука, Хлеб, Фасоль.
Как выбрать все элементы (Яйца, Мука, Хлеб, Фасоль) из таблицы и при этом при обходе элементов таблицы сделать первым Мука, а остальные не важно как дальше будут?
 
Сделай сотрировку по полю 'zagolovok' и будет тебе счастьье.
Код:
SELECT * FROM table ORDER BY zagolovok;
 
Сделай сотрировку по полю 'zagolovok' и будет тебе счастьье.
Так в этом случае он сортирует либо по алфавиту по возрастанию или по убыванию. А мне нужно из середины взять.
 
При сортировке по Яйца, Мука, Хлеб, Фасоль - Мука будет первой.

Если надо выбирать ХЗ как, то 2-а запроса.
 
Друг по аське подсказал. Может кому пригодиться
 
select * from
where [Zagolovok] = 'Мука';
select * from
where [Zagolovok] <> 'Мука';
---
 
select * from
where [Zagolovok] = 'Мука';
select * from
where [Zagolovok] <> 'Мука';
---

Клевая идея сам почему-то не додумался, а то сейчас возникла необходимость выводить уже не 1 элемент а несколько в начале, а потом все остальное.
 
Клевая идея сам почему-то не додумался, а то сейчас возникла необходимость выводить уже не 1 элемент а несколько в начале, а потом все остальное.

Если требуется выводить элементы столбца (в данном случае `Zagolovok`) в каком то особом порядке, почему б не добавить в таблицу ещё одно поле - `ordr`INT, и для каждой записи проставить целое число, определяющее ваш порядок "особой" сортировки. Данные при выборе SEELCT'ом сортируются по столбцу ordr.
Конечно, столбец ordr займёт в таблице доп.место, но данный подход зато универсальный для "особых" порядков сортировки.

 
Не хотелось менять структуру БД (на ней уже висит несколько сайтов). Делаю универсальный движок под себя. Движок выполняет функции как инет магазина, так и обычного сайта. А включение и отключение магазина выполняется выставление переменной в true.
 
Не хотелось менять структуру БД (на ней уже висит несколько сайтов).

Имеется в виду "не хотелось менять структуру таблиц БД"?
В этом случае структура таблиц БД пусть остаётся как сейчас. Создаёте ещё одну таблицу Ordrs (id_tbl:INT ordr:INT). Поле id_tbl - для связи с вашей Table (по Table.id). Поле Ordrs.ordr заполняете в соответствии с вашим критерием сортировки. В нужном месте составляете запрос к Table, связывая ее с созданной таблицей порядков Ordrs, упорядочивая ResultSet по Ordrs.ordr.
Структура таблиц БД при этом остается без изменения.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху