[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сортировка определенных записей
EvilDev
Всем привет!
Не могу понять, как можно сделать такую штуку:
Допустим у нас в JS есть массив [1,5] и есть таблица в mysql с какими то данными. Нам необходимо вывести данные таким образом, чтобы записи из таблицы с id 1 и 5 были вверху, а остальные шли следом. Возможно ли это сделать одним запросом?

_____________
HTML5, CSS3, jQuery, Node.js, PHP, Yii, Joomla, MySQL, MongoDb, GIMP
Valick
ну почти одним запросом, просто два селекта объеденить UNION
я так понимаю остальные записи должны быть отсортированы по другому полю или иметь другой критерий выборки
не совсем понятно зачем вы про JS рассказывали, как оно должно влиять на запрос?

_____________
Стимулятор ~yoomoney - 41001303250491
EvilDev
Цитата (Valick @ 20.11.2012 - 06:22)
ну почти одним запросом, просто два селекта объеденить UNION
я так понимаю остальные записи должны быть отсортированы по другому полю или иметь другой критерий выборки
не совсем понятно зачем вы про JS рассказывали, как оно должно влиять на запрос?

Да это просто с ajax работаю)
Вы не могли бы пример дать? Не совсем понятно

_____________
HTML5, CSS3, jQuery, Node.js, PHP, Yii, Joomla, MySQL, MongoDb, GIMP
Valick
(SELECT * FROM `table` WHERE id IN (1,2,3,4,5))
UNION
(SELECT * FROM `table` WHERE id NOT IN (1,2,3,4,5) ORDER BY RAND())


_____________
Стимулятор ~yoomoney - 41001303250491
Placido
SELECT * FROM `tablename` ORDER BY `id` IN (5,1) DESC;
EvilDev
Только сортировку делать надо в самом конце

_____________
HTML5, CSS3, jQuery, Node.js, PHP, Yii, Joomla, MySQL, MongoDb, GIMP
Placido
Не понял? При вот таком варианте
SELECT * FROM `tablename` ORDER BY `id` IN (5,1) DESC, `id`;

сначала будут выводиться записи с id 1, 5, а потом остальные, отсортированные по порядку (т.е. 1,5,2,3,4,6,7 и т.д.)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.