| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > MySQL > Упорядочить выборку не имея явного критерия |
| Автор: Wolf1994 11.5.2008, 15:41 | ||
Есть запрос, типа:
Как выбрать из БД поля в данном порядке (1,3,2)? С приведённым запросом получается порядок: 1,2,3. |
| Автор: skyboy 11.5.2008, 16:05 |
| укажи поля явно! очень надеюсь, что конструкцией ты не пытался определить последовательность полей в результате, ведь эта конструкция делает совсем другое |
| Автор: Fortop 11.5.2008, 16:08 |
| skyboy, явное указание полей ему не поможет. Ему скорее всего нужен не порядок полей, а сортировка результирующих записей. И если у него нет другого индекса по какому-либо полю, то вывести в таком виде 1,3,2 - можно только случайно. |
| Автор: Wolf1994 11.5.2008, 16:09 |
Как это сделать? OR? Добавлено @ 16:10 Fortop, то есть задача нерешаема? |
| Автор: Fortop 11.5.2008, 16:15 | ||||
| Wolf1994, Для начала нужно понять что ты хочешь Вот таблица
переставить местами столбцы id, Б, С, Д - можно а вот строки 1,2,3 - только сортировкой по какому-либо столбцу или нескольким сразу. Почему тебе надо вывести именно так?
Чем отличаются между собой записи? |
| Автор: Wolf1994 11.5.2008, 17:07 | ||
Спасибо за решение. Я не силён в MySQL, поэтому решил разложить сложный для меня запрос на части. Результатом выполнения является массив из нескольких отсортированных `id`, по которым надо было получить финальный результат. |
| Автор: Fortop 11.5.2008, 17:19 |
| Wolf1994, уточни условия задачи. Возможно она решается совсем другим способом |
| Автор: Akina 11.5.2008, 17:21 |
Именно такой порядок записей ведь чем-то обоснован? не идиотским "а вот хочу", а чем-то осмысленным и вменяемым... чем? |
| Автор: skyboy 11.5.2008, 17:23 |
| черт. а ведь я пошутил :( Wolf1994, это решение подходит ещё только в том случае, если у тебя количество выбираемых записей 1-10 и по этим записям никакого join'a и прочих операций не происходит. в противном случае это чревато. не люблю категоричность в высказываниях, но в данном случае, как мне кажется, она непременно решаема другими методами. более быстрыми и менее запутанными |
| Автор: Wolf1994 11.5.2008, 17:37 | ||||||||
Именно так )
Мне подошло данное решение. Кажется, оно оптимально для моего случая. Всем спасибо! Вопрос решён. |
| Автор: Fortop 11.5.2008, 21:36 | ||
skyboy, 30ть раз подумай в следующий раз Впрочем, может так ему и надо, раз не понимает? |
| Автор: Wolf1994 11.5.2008, 23:51 |
| Fortop, в рамках данной темы лучшего решения предложено не было. По задаче, которую я им решил я создам отдельную тему - кажется, так следует делать по правилам форума. |
| Автор: Akina 12.5.2008, 07:57 |
И не могло быть предложено. Имхо. |