Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> IN и сортировка 
:(
    Опции темы
pd107
Дата 15.7.2009, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

SELECT * FROM table WHERE id IN (123, 1, 2, 3)

Можно ли как-то сделать, чтоб результаты селектились в такой последовательности, в какой они перечислены в IN? А то они отдаются отсортированными по возрастанию, что мне не надо.
PM MAIL   Вверх
ksnk
Дата 15.7.2009, 16:12 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



Код

SELECT * 
FROM table
WHERE  `id` 
IN ( 123, 1, 2, 3 ) 
ORDER BY FIELD(  `id` , 123, 1, 2, 3 ) 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
pd107
  Дата 15.7.2009, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ksnk, tnx smile
Другого метода нет? Там очень длинный список IN, лучше буду средствами PHP сортировать. Кстати, насколько длинные запросы вообще можно создавать?
PM MAIL   Вверх
ksnk
Дата 15.7.2009, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



pd107, Ограничение, вроде, есть! Не более 64 кб строка запроса sql. Действительно настолько длинный запрос?  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
solenko
Дата 15.7.2009, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Ну не 64Кб, а сколько в конфиге написано...
max_allowed_packet


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Ипатьев
Дата 15.7.2009, 18:55 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



если очень длинный список, то следует подумать о пересмотре архитектуры.
PM MAIL   Вверх
pd107
Дата 15.7.2009, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



ksnksolenko, благодарю! max_allowed_packet поглядел, 16М smile 
там передаются 6-ти значные числа, сейчас порядка сотни на запрос, в перспективе, в отдельных случаях может доходить до 10к за запрос итого, с учетом запятых 10к*(5+1) = вложимся в даже стандартные 64к smile это не очень хорошо, но что поделаешь... по-другому тут не выйдет, иначе вместо каждой такой записи в специальной таблице в перспективе придется хранить по 10к записей, запрос будет короткий, но иметь под сотню миллионов строк в таблице... smile туда вообще столько хоть влезит? smile  smile 
PM MAIL   Вверх
Ипатьев
Дата 16.7.2009, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



влезет
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




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


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

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