我必须编写一个导出函数来创建一个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 . '"

这已经如预期的那样工作了,目标是只在匹配状态也是最早添加到订单时返回记录。

最佳答案

非常简单的sql加法。最后加上

ORDER BY orders_status_history.date_added Limit 0,1

10-08 12:55