Нужна помощь с SQL запросом (пересечение диапазонов чисел)

Нужно получить все результаты с пересечением диапазонов чисел - введите сюда описание изображения Например по критериям от 5000 до 10000 должны попасть все выделенные на стриншоте и отсеяться перечеркнутые. Я себе представляю такую логику a.start <= b.end AND a.end >= b.start подскажите пожалуйста как будет выглядеть запрос для MySQL ?


Ответы (2 шт):

Автор решения: Akina
SELECT * 
FROM announcements 
WHERE COALESCE(price_from, 5000) <= 10000 
  AND COALESCE(price_to, 10000) >= 5000
→ Ссылка
Автор решения: Алекс Данилин
SELECT *
FROM announcements
WHERE price_from >= 5000 AND price_from != 2000 AND price_from != 12000 AND price_from IS NULL AND price_to <= 10000 AND price_to != 4000 AND price_to != 15000 AND price_to IS NULL 
→ Ссылка