我正在使用 MySql 数据库,并且有下表 oil_order:
oil_order:
id supId ordered_on
1 12 2020-09-01 17:30:00
2 12 2020-09-01 17:30:04
3 12 2020-09-01 17:30:10
4 12 2020-09-01 17:30:13
5 12 2020-09-01 17:30:15
还有另一个表 order_item:
order_item:
id order_id tankId amount
1 1 11 54653
2 2 12 54653
3 3 11 54653
4 4 13 54653
5 5 12 54653
一个订单可以有多个 oil_order。我想从 order_item 和每个 tank_id 中选择所有记录,它与最新的 oil_order.ordered_on 相对应。例如,由此产生的结果将是:
tank_id ordered_on
11 2020-09-01 17:30:10
12 2020-09-01 17:30:15
13 2020-09-01 17:30:13
tank id 11 的订单项有两条记录,一条 order_id 1 和 order_id 3。我应该返回 order_id 3 的一条,因为 oil_order 中 id 为 3 的记录的日期比 id 为 1 的记录大。
我设法做的是:
SELECT item.tank_id,MAX(oil_order.ordered_on)
FROM order_item item
INNER JOIN oil_order oil_order
ON item.order_id= oil_order.id
GROUP BY item.tank_id;
但我需要从 order_item 执行以下 SELECT * 并将 MAX 案例添加到更低的位置。