Запрос на SELECT
Страницы: 1
Запрос на SELECT
Здравствуйте. Прошу помочь с реализацией простого, но в тоже время сложного для меня запроса в базу данных. Есть, например, новости с такими ID:
56322
55304
54788
53485
49264
48076
43958


Нужно выполнить запрос для вывода сначала новостей, у которых ID меньше 50000 по списку сверху вниз, а только затем у которых больше 50000, но также по списку сверху вниз и при этом итог нужно ограничить 5-тю результатами. В общем результат должен быть такой:
49264
48076
43958
56322
55304

Очень прошу помочь, не получается составить такой запрос. Буду очень-очень благодарен.
Изменено: AlexanderKoroten - 13 Июня 2014 19:34
Код
SELECT id FROM `table` WHERE `id` < 50000 ORDER BY `id` DESC LIMIT 3;

SELECT id FROM `table` WHERE `id` > 50000 ORDER BY `id` DESC LIMIT 2;
Результат запросов в разные переменные и вывод = три до 50 - по нисходящей, 2 - после 50, по нисходящей.


Наверное)
Coder, ну это я так понимаю два отдельных запроса? У меня сейчас подобное уже реализовано, но хотелось бы одним запросом обойтись.
Цитата
AlexanderKoroten пишет:
но хотелось бы одним запросом обойтись
А зачем? Соединение одно, нагрузка несущественна - у вас по-любому будет пробежка в два этапа, имхо.
Coder, да это скорее для себя самого. Хочется как-то унифицировать код, а то получается задвоение функции вывода результата на сайт. Просто бывало выполнял гораздо более сложные запросы, а в этой ситуации просто ступор какой-то. Может решение очевидное, а я его не вижу.
Понятно) Можно и в одну функцию все напихать - только смысла, по сравнению с каждой по своей задаче, вроде не много, имхо.

Но, - если тревожит, то таки надо пытаться)

Удачи)
Coder, спасибо. Кто ещё может поможет идеями?
Цитата
AlexanderKoroten пишет:
Coder, спасибо
Да не сделал ничего... Пожалуйста)
Используйте оператор UNION - данный оператор используется для объединения запросов SELECT.



Код
SELECT id FROM table WHERE id < 50000 ORDER BY id DESC LIMIT 3
UNION
SELECT id FROM table WHERE id > 50000 ORDER BY id DESC LIMIT 2;
В действительности вы знаете предмет только в той степени, в которой можете научить других, с тем чтобы они его поняли и применили в своей жизни.
Андрей П-Студия, к сожалению UNION с сортировкой в таком виде не работает. Работает только если общую сортировку сделать, но тогда она весь принцип вывода меняет.
Если ваш запрос нельзя выполнить с помощью простых операторов SQL, значит ваше решение самое оптимальное.
Т.к. все остальные решения со сложными комбинациями операторов только утяжелят Код!

З.Ы.: вот тут есть какое то решение по поводу совместимости UNION и ORDER BY:


Код
SELECT ....

FROM  (SELECT TOP 1 ...

FROM ...

ORDER BY ...) AS x

UNION ALL

SELECT ....

FROM  (SELECT TOP 4 ...

FROM ...

ORDER BY ... DESC) AS y
Изменено: Андрей П-Студия - 13 Июня 2014 23:04
Андрей П-Студия, ооооо, это просто невероятно!! Сработало. Именно этот запрос и выводит новости в том порядке, в котором мне и хотелось. Огромное Вам спасибо!!
P.S. Если кто будет мимо проходить поставьте пользователю Андрей П-Студия плюс, а то у меня отрицательная репутация не позволяет это сделать.
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
13:55 SEO-инструменты слепнут: Ahrefs и Semrush массово банят на сайтах из-за ИИ 
13:50 Праздники кончились, а трафик так и не вернулся. Глюк или фильтр? 
13:47 Нашел скрины выплат с Сапы за 2010 год. Пошел плакать 
13:34 Простая тема Вордпресс 
13:22 24.01. Апдейт: Шторм продолжается // Штрафы 700к за Google ID: готовимся? 
06:22 С наступающим Новым годом! АП Яндекс ИКС 23.12.2025 
05:48 Редирект на мобильных. Айболит и сканеры молчат 
12:34 Mixmasters - Exchange without AML and KYC 
04:11 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
23:47 Чек номеров на наличие Telegram/ Filter (checking) numbers Telegram 
22:49 E-currency.exchange — ваш помощник в мире обменов 
17:21 CryptoGraph — Анонимный обмен криптовалют без KYC и AML 
14:00 Продам аккаунты Gmail USA IP | Gmail MIX IP | Outlook Old 
10:14 Мониторинг обменников Сrypto-scout.io 
13:09 Win 10: Три месяца без обновлений. Как полёт? // Переезд на Win 11 или Linux 
06:16 Осталось 3-5 месяцев до блокировки YouTube в России, — заявил Клименко 
16:25 Подтягиваем физкультурку 
16:17 Gartner обещал смерть SEO к 2026 году. Открываем метрику и проверяем 
08:18 Тренера "Сочи" обвинили, что он рулил через ChatGPT. Игрокам предложили не спать 28 часов 
08:09 Владельцы "китайцев" 3-леток, признавайтесь честно — сгнили или едут? 
17:27 Курс доллара упал ниже 85 рублей