是否有一种方法可以将GROUP BY一个表列,但是在一个查询中由另一个进行LIMIT。类似的东西:
SELECT items.*, subitems.*
FROM items
LEFT OUTER JOIN subitems ON subitems.subitem_itemId = items.item_id
GROUP BY subitem.subitem_id
LIMIT 10
...但是LIMIT 10适用于项目记录的数量,而不是实际行数。所以我得到10个项目,但是没有子项目,因此可能超过10个实际行(或者如果孩子的数量等于或少于父母,则不行)。
然后我可以在php中循环这些并设置父/子关系。或者有更好的方法吗?
答案 0 :(得分:4)
您必须使用子查询:
SELECT items.*,subitems.*
FROM (
SELECT *
FROM items
LIMIT 10
) AS items
LEFT OUTER JOIN subitems ON subitems.subitem_itemId = items.item_id
GROUP BY subitem.subitem_id;