Мне нужно написать функцию экспорта, которая создает файл CSV-заказов магазина, которые имеют определенные статусы, прикрепленные к ним в течение определенного периода времени. Проблема в том, что один вид статуса (например, ID статуса 32) может появляться несколько раз в одном порядке, но имеет значение только самый ранний добавленный статус.MySQL: выберите только самую раннюю дату, найденную в наборе
Это мой код до сих пор:
select * FROM orders_status_history
JOIN orders_total ON (
orders_total.orders_id = orders_status_history.orders_id
AND orders_total.class = "ot_total"
)
JOIN orders ON (
orders.orders_id = orders_status_history.orders_id
)
WHERE orders_status_history.orders_status_id IN(32, 21, 56, 45)
AND orders_status_history.date_added >= "' . $start . '"
AND orders_status_history.date_added <= "' . $end . '"
Это уже работает, как ожидалось, цель состоит в том, чтобы вернуть только запись, когда статус соответствия был также ранним добавил к порядку.
Если вы хотите, рассмотрим следующие этой простой двухступенчатой курс действий: 1. Если вы еще не сделали этого, обеспечить надлежащие DDLS (и/или sqlfiddle), так что мы можем более легко реплицировать проблему. 2. Если вы еще этого не сделали, укажите желаемый набор результатов, соответствующий информации, представленной на шаге 1. – Strawberry