Форум программистов, компьютерный форум, киберфорум
MySQL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Superposition
950 / 615 / 256
Регистрация: 27.10.2013
Сообщений: 2,083
1

Как извлечь соседние строки одним запросом?

17.01.2015, 14:20. Показов 2099. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Предположим есть таблица с названиями:

1Canberra
2Sydney
3Albury
4Armidale
5Bathurst
6Blue Mountains
7Broken Hill
8Campbelltown
9Cessnock
10Dubbo

и мне необходимо извлечь соседей шестой(6) записи, то есть результат выборки должен выглядеть как-то так:

5Bathurst
7Broken Hill
5 и 7 соответственно.
Кто-нибудь знает какой запрос можно применить в данном случае? Если проблема все-таки не решиться то конечно же есть более радикальные способы(php например), но мне очень хотелось бы сделать все в пределах одного sql запроса.

Добавлено через 21 минуту
Решил вопрос но очень негибко:
MySQL
1
select city_id, city from rb_cities where city_id <> 6 limit 4,2
тему не закрываю, может кто-нибудь подкинет более лучший вариант
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2015, 14:20
Ответы с готовыми решениями:

Возможно ли обновить строки на индексы одним запросом?
Есть 2 таблицы: Таблица 1: Номер изделия (целое) Дефект (строка) - подставляется из Таблицы 2...

Выбрать данные, посчитать строки и сделать update одним запросом
Здравствуйте, есть таблица films(родительская) CREATE TABLE `films` ( `film_id` bigint(20) NOT...

Как получить дерево одним запросом?
Здравствуйте. У меня есть таблица struct. Она имеет 2 поля: id int(11), rel int(11). Поле rel -...

Как добавить данные одним запросом в разные таблицы?
Начал делать базу. Чтобы не ошибиться с внесением данных надо пользоваться формами и запросами....

2
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
17.01.2015, 14:51 2
Я так понимаю, что поиск в отсортированном по city_id наборе. Если да, то искомая запись разбивает набор на две части. Ищите максимум из первой части (city_id меньше city_id искомой записи) и минимум city_id из второй части.
1
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
17.01.2015, 17:28 3
MySQL
1
2
3
select city_id, city from rb_cities where city_id < 6 order by city_id desc limit 1
union all
select city_id, city from rb_cities where city_id > 6 order by city_id limit 1
0
17.01.2015, 17:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2015, 17:28
Помогаю со студенческими работами здесь

Как выполнить одним запросом, или объединить запросы!?
SELECT , Дата, , sum() AS Количество_мест, sum() AS Платный_вес, INTO Адреса FROM ОТчет GROUP BY...

Как одним запросом определить существование нескольких таблиц?
Суть вопроса заключается в том что SHOW TABLES LIKE получается применить только к одной таблице. А...

Как обработать несколько select одним запросом ajax?
Всем привет, имеется задача, нужно вывести предварительную сумму на основании 2х параметров....

Как одним запросом получить данные из разных таблиц?
Есть таблица со статьями, к статье могут быть прикреплены теги и файлы. есть отдельные таблицы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru