Mysql 使用SQL将结果限制为不同的列

Mysql 使用SQL将结果限制为不同的列,mysql,Mysql,我正在尝试获取项目列表以及每个项目的订单信息。订单始终至少有一项与之关联。我想将此列表限制为10个订单中的所有项目。下面是我的查询,它得到10个条目。在获取与这些订单关联的所有项目(无论是10行还是200行)时,将其限制为10个订单的最佳方式是什么 SELECT o.*, i.* FROM orders o, items i WHERE i.order_id = o.id LIMIT 0, 10 非常感谢 尝试使用子选择,首先限制订单。在外部选择中,您可以获取这10个订单的所有项目 SELEC

我正在尝试获取项目列表以及每个项目的订单信息。订单始终至少有一项与之关联。我想将此列表限制为10个订单中的所有项目。下面是我的查询,它得到10个条目。在获取与这些订单关联的所有项目(无论是10行还是200行)时,将其限制为10个订单的最佳方式是什么

SELECT o.*, i.*
FROM orders o, items i
WHERE i.order_id = o.id
LIMIT 0, 10

非常感谢

尝试使用子选择,首先限制订单。在外部选择中,您可以获取这10个订单的所有项目

SELECT o.*, i.*
FROM items i, (SELECT * FROM orders LIMIT 0, 10) o
WHERE i.order_id = o.id

尝试在您首先限制订单的位置使用子选择。在外部选择中,您可以获取这10个订单的所有项目

SELECT o.*, i.*
FROM items i, (SELECT * FROM orders LIMIT 0, 10) o
WHERE i.order_id = o.id

我不知道,只是想猜一猜

SELECT o.*, i.*
FROM orders o, items i
WHERE i.order_id = o.id and 
o.id in (select o.id from orders o limit 0, 10)

我不知道,只是想猜一猜

SELECT o.*, i.*
FROM orders o, items i
WHERE i.order_id = o.id and 
o.id in (select o.id from orders o limit 0, 10)

像这样的方法应该会奏效:

SELECT o.*, i.*
FROM items i INNER JOIN orders o ON o.id = i.order_id
WHERE o.order_id IN (
  SELECT o.id
  FROM orders
  LIMIT 0, 10
)

像这样的方法应该会奏效:

SELECT o.*, i.*
FROM items i INNER JOIN orders o ON o.id = i.order_id
WHERE o.order_id IN (
  SELECT o.id
  FROM orders
  LIMIT 0, 10
)

第一个也是最简单的答案——你得到了支票。我没有想过用这种方式使用subselect,谢谢!第一个也是最简单的答案——你得到了支票。我没有想过用这种方式使用subselect,谢谢!