MySQL:仅选择集合中找到的最早日期

时间:2015-01-08 15:51:32

标签: php mysql

我必须编写一个导出功能,用于创建商店订单的CSV文件,该文件在特定时间范围内附加了特定的状态。问题是,一种状态(如状态ID 32)可以在同一个订单中多次出现,但只有最早添加的状态是相关的。

到目前为止,这是我的代码:

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 个答案:

答案 0 :(得分:1)

非常简单的添加到您的SQL。最后添加

ORDER BY orders_status_history.date_added Limit 0,1