Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вызов индексов в указанном порядке 
:(
    Опции темы
zhazhah
Дата 6.5.2010, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Здравствуйте. Я хочу получить записи в указанном порядке т.е 
Код

select * from `book_temp` where id in(2,4,3,1); 
вернёт
1                       
2                       
3                       
4    
, а нужно   
2
4
3
1

 smile  Спасибо.


PM MAIL   Вверх
Zloxa
Дата 6.5.2010, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



порядок сортировки выборки указывается прелдожением order by
Код

order by case id when 2 then 1 when 4 then 2 when 1 then 4 else id end



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
zhazhah
Дата 6.5.2010, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Спасибо в принципе вариант но при 100 и более индексах слишком длинный запрос. Наверняка есть более правильный и удобный способ.  Не в одной книге ещё не встречал, а очень нужно.
PM MAIL   Вверх
Zloxa
Дата 6.5.2010, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 33
Всего: 161



Цитата(zhazhah @  6.5.2010,  17:41 Найти цитируемый пост)
 Наверняка есть более правильный и удобный способ.  

Куда уж удобнее и правильнее?
Ели бы вы попытались сформулировать принцип, по которому вам "очень нужно" формировать порядок, быть может, оказалось бы возможным помочь вам.

Добавлено @ 17:53
все, я кажется понял принцип.

Вы не находите что перечисление 100 и более констант в In листе так же не является самым правильным и удобным способом?

Добавлено @ 18:03
Код

select * from `book_temp` where id in(2,4,3,1)
order by instr(',2,4,3,1,',concat(',',id,','));



Это сообщение отредактировал(а) Zloxa - 6.5.2010, 18:03


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
zhazhah
Дата 6.5.2010, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 21.3.2010

Репутация: нет
Всего: нет



Спасибо. 
PM MAIL   Вверх
skyboy
Дата 6.5.2010, 20:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



менее универсальное, но более наглядное: функция Field()
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.