powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Необычный запрос
5 сообщений из 5, страница 1 из 1
Необычный запрос
    #38786633
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех.
Можно ли, если можно, то как? Одним запросом вытащить следующие данные, к примеру имеется след. запрос:
SELECT * FROM `table` WHERE `id`=10 LIMIT 20;
можно ли изменить запрос так, чтобы этот запрос достал десять результатов которые меньше 10 и десять которые больше?
...
Рейтинг: 0 / 0
Необычный запрос
    #38786645
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это не "необычный", а достаточно частый вопрос.

Поскольку вы не сказали, что делать с теми у кого ровно 10, то так:
Код: sql
1.
2.
3.
SELECT * FROM `table` WHERE `id`>10 ORDER BY id LIMIT 10
UNION ALL
SELECT * FROM `table` WHERE `id`<10 ORDER BY id DESC LIMIT 10
...
Рейтинг: 0 / 0
Необычный запрос
    #38786666
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Ага) А что делать, если 10 равно?

Вот этот юнион он сильно нагружает запрос или же это равносильно тому, если бы я выбрил одним запросом 20 строчек, ведь по сути одно количество строчек получается
...
Рейтинг: 0 / 0
Необычный запрос
    #38786675
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zhurchickАга) А что делать, если 10 равно?Это вы нам должны сказать что делать с такой записью.
Если ее нужно включить в результат запроса, то можно так:
Код: sql
1.
2.
3.
4.
5.
SELECT * FROM `table` WHERE `id`=10
UNION ALL
SELECT * FROM `table` WHERE `id`>10 ORDER BY id LIMIT 10
UNION ALL
SELECT * FROM `table` WHERE `id`<10 ORDER BY id DESC LIMIT 10

Если известно, что запись с `id`=10 гарантированно существует, то можно немного проще:
Код: sql
1.
2.
3.
SELECT * FROM `table` WHERE `id`>=10 ORDER BY id LIMIT 11
UNION ALL
SELECT * FROM `table` WHERE `id`<10 ORDER BY id DESC LIMIT 10


zhurchickВот этот юнион он сильно нагружает запросЕсли есть индекс по полю id или оно входит первым в какой-либо составной индекс, то это довольно легкий запрос.
...
Рейтинг: 0 / 0
Необычный запрос
    #38786682
zhurchick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Я пишу галерею на ajax и при запросе мне нужно достать ссылки на десять фото для переключения вперед и 10 для переключения назад.

Большая спасибо за вашу помощь
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Необычный запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]