EvilDev
20.11.2012 - 09:50
Всем привет!
Не могу понять, как можно сделать такую штуку:
Допустим у нас в JS есть массив [1,5] и есть таблица в mysql с какими то данными. Нам необходимо вывести данные таким образом, чтобы записи из таблицы с id 1 и 5 были вверху, а остальные шли следом. Возможно ли это сделать одним запросом?
_____________
HTML5, CSS3, jQuery, Node.js, PHP, Yii, Joomla, MySQL, MongoDb, GIMP
Valick
20.11.2012 - 10:22
ну почти одним запросом, просто два селекта объеденить UNION
я так понимаю остальные записи должны быть отсортированы по другому полю или иметь другой критерий выборки
не совсем понятно зачем вы про JS рассказывали, как оно должно влиять на запрос?
_____________
Стимулятор ~yoomoney - 41001303250491
EvilDev
20.11.2012 - 10:26
Цитата (Valick @ 20.11.2012 - 06:22) |
ну почти одним запросом, просто два селекта объеденить UNION я так понимаю остальные записи должны быть отсортированы по другому полю или иметь другой критерий выборки не совсем понятно зачем вы про JS рассказывали, как оно должно влиять на запрос? |
Да это просто с ajax работаю)
Вы не могли бы пример дать? Не совсем понятно
_____________
HTML5, CSS3, jQuery, Node.js, PHP, Yii, Joomla, MySQL, MongoDb, GIMP
Valick
20.11.2012 - 10:38
(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
20.11.2012 - 10:59
SELECT * FROM `tablename` ORDER BY `id` IN (5,1) DESC;
EvilDev
20.11.2012 - 15:25
Только сортировку делать надо в самом конце
_____________
HTML5, CSS3, jQuery, Node.js, PHP, Yii, Joomla, MySQL, MongoDb, GIMP
Placido
20.11.2012 - 16:50
Не понял? При вот таком варианте
SELECT * FROM `tablename` ORDER BY `id` IN (5,1) DESC, `id`;
сначала будут выводиться записи с id 1, 5, а потом остальные, отсортированные по порядку (т.е. 1,5,2,3,4,6,7 и т.д.)
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.