Как сделать выборку между двумя датами?

Рейтинг: 0Ответов: 1Опубликовано: 14.04.2023

Есть таблица следующего вида:

CARS: id, title, year_start, year_end

year_start - год выпуска автомобиля ОТ, year_end - год выпуска автомобиля ДО

Я написал такой запрос:

select id, year_start, year_end from `cars`
where year_start >= 2014 AND year_end <= 2018

Однако этот запрос не совсем релевантный. Он не выдает мне записи, например, если у них year_start=2015, year_end = 2023 и так далее. Это логично. Но как мне сделать так, чтобы мой запрос выдавал все записи, который попадают в нужный мне диапазон дат?

Проиллюстрирую свой пример:

select id, year_start, year_end from `cars`
where year_start >= 2014 AND year_end <= 2018

Выборка 1

select id, year_start, year_end from `bids`
where year_start >= 2014 AND year_end <= 2023

Выборка 2

Как правильно написать запрос, чтобы, например, при выборке year_start = 2014, year_end = 2018, выдало и записи с year_start = 2015, year_end = 2023

UPD: загружаю пример того, как выглядит фильтр на клиенте введите сюда описание изображения

Ответы

▲ 0

так пойдет?

select id, year_start, year_end from cars where year_start <= 2018 AND year_end >= 2014

схема возможных вариантов возможных вариантов (как я понимаю) всего 4, всё остальное не должно попадать. "популярная машина" - это машина которая выпускается долго (начало выпуска раньше 2014, окончание выпуска после 2018), остальные варианты, думаю, понятны?