Доброго времени суток.
Есть таблица с заказами. Условные поля:
id, phone, created_at
Значит нужно сделать такую выборку из этой таблицы, что бы в нее попали записи, последняя дата которых (created_at), меньше заданной в условии. ВАЖНО, что записи могу иметь одинаковые поля
phone
Пример:
Допустим условие
created_at < 20.10.2017
Нужно выбрать все телефонные номера, у которых
последняя дата меньше той которая задана в условии.
Пробовал такое:
SELECT * FROM `order` WHERE `created_at` < (SELECT MAX(`created_at`) FROM `order` WHERE `created_at` <= '20-10-2017')
Но этот вариант выбирает последнюю дату до 20.10.2017. А нужно что бы последняя дата выбиралась из всего списка.
И это значит если есть две записи с одним телефоном и у одной из них дата 25.10.2017, а у другой 18.10.2017, то телефон все равно попадет в выборку. А нужно что бы не попал, потому что крайняя запись имеет дату больше той, что у условии.
Надеюсь понятно объяснял.
Скажите вообще возможно такое или нет?