Mysql 按分组字段而不是返回的所有行进行限制
我正在使用这个(简化): 获取最后50个订单以及所有订单项目 但是我需要订单项位于它们自己的行中(真正返回),而不是水平返回的组Mysql 按分组字段而不是返回的所有行进行限制,mysql,sql,group-by,Mysql,Sql,Group By,我正在使用这个(简化): 获取最后50个订单以及所有订单项目 但是我需要订单项位于它们自己的行中(真正返回),而不是水平返回的组 如何返回最近50个订单的所有订单项目,每行只有一个订单项目?使用子查询选择最近50个订单,然后将其与项目合并 select o.order, oi.article from (SELECT order FROM orders ORDER BY order_date DESC LIMIT 50) o JOIN order_items
如何返回最近50个订单的所有订单项目,每行只有一个订单项目?使用子查询选择最近50个订单,然后将其与项目合并
select o.order, oi.article
from (SELECT order
FROM orders
ORDER BY order_date DESC
LIMIT 50) o
JOIN order_items oi
ON o.order = oi.order
您讨论了最后50个项目,但没有提到要订购的日期字段。在orders表中有该date_字段,您可以执行以下操作:
SELECT o.order, oi.article
FROM (SELECT order
FROM orders
ORDER BY date_field DESC
LIMIT 50 ) o
INNER JOIN order_items oi ON o.order = oi.order
SELECT o.order, oi.article
FROM (SELECT order
FROM orders
ORDER BY date_field DESC
LIMIT 50 ) o
INNER JOIN order_items oi ON o.order = oi.order