Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 按分组字段而不是返回的所有行进行限制_Mysql_Sql_Group By - Fatal编程技术网

Mysql 按分组字段而不是返回的所有行进行限制

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个订单的所有订单项目,每行只有一个订单项目?

使用子查询选择最近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