powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка предыдущей и последующей записей из запроса
5 сообщений из 5, страница 1 из 1
Выборка предыдущей и последующей записей из запроса
    #39569255
dima_sql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите каким образом можно выбрать предыдущую и последующую записи из результата запроса:

Код: sql
1.
2.
3.
4.
5.
SELECT
cr.id, cr.id_consumer, cr.date, cr.record
FROM consumer_record cr
WHERE id_consumer = '43'
ORDER BY cr.date DESC


Вывод запроса прикрепил.

Мне известно id записи, например это 360. Следующая по столбцу date запись c id 372, а предыдущая с id 348
Сложность в том, что даты не обязательно могут идти последовательно по id в исходной таблице. Поэтому по id выборку делать нельзя.
...
Рейтинг: 0 / 0
Выборка предыдущей и последующей записей из запроса
    #39569260
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FAQ: Нумерация строк и другие вопросы про использование переменных
Номера, в отличие от дат, будут последовательны и непрерывны, причём с указанной тобою сортировкой.
...
Рейтинг: 0 / 0
Выборка предыдущей и последующей записей из запроса
    #39569261
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или обычный подзапрос, отбор по минимуму разности даты с нужной записью.
...
Рейтинг: 0 / 0
Выборка предыдущей и последующей записей из запроса
    #39569276
dima_sql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AkinaНу или обычный подзапрос, отбор по минимуму разности даты с нужной записью.
Спасибо, так и делал, но решил ещё раз проверить.

Во всем оказались виноваты кавычки. Они обязательно нужны.
Вот может кому пригодится.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT t1.*
FROM
(SELECT cr.id, cr.id_consumer, cr.date, cr.record
FROM consumer_record cr
WHERE id_consumer = 43
ORDER BY cr.date DESC) t1
WHERE date < '2017-05-25'
ORDER BY date DESC
LIMIT 1;
...
Рейтинг: 0 / 0
Выборка предыдущей и последующей записей из запроса
    #39569281
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dima_sqlВо всем оказались виноваты кавычки. Они обязательно нужны.Для даты - да. Для числа (как на первом скриншоте) - вовсе даже нет.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Выборка предыдущей и последующей записей из запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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