mysql一对多取最新一条
时间: 2023-09-25 12:15:41 浏览: 134
MySQL 多表关联一对多查询实现取最新一条数据的方法示例
可以使用子查询和LIMIT子句来获取一对多关系中的最新记录。假设你有两个表,一个是主表orders,另一个是从表order_items,其中一个订单可以有多个订单项。可以使用以下查询获取每个订单的最新订单项:
```
SELECT o.*, i.*
FROM orders o
LEFT JOIN order_items i ON o.order_id = i.order_id
WHERE i.item_id = (
SELECT item_id
FROM order_items
WHERE order_id = o.order_id
ORDER BY created_at DESC
LIMIT 1
)
```
该查询使用子查询来查找每个订单的最新订单项,然后使用LEFT JOIN将其与主订单表orders联接起来。最后,WHERE子句过滤出最新的订单项。请注意,这里假设从表order_items有一个created_at列来表示每个订单项的创建时间,可以根据实际情况进行更改。
阅读全文