use*_*134 2 mysql sql select join limit
我有一个 mysql 表,有 20 个父行和 38 个子行。子行具有parent_id父id行的列。
这是查询
SELECT child.*,parent.title as ptitle FROM mytable parent
LEFT JOIN mytable child on child.`parent_id`=parent.id
ORDER by parent.id ASC
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试进行分页。我只需要每页 10 个父行。我如何以仅获取 10 个父行但仍获取子行的方式限制结果?
另外我如何限制子行..比如每个父行只显示 5 个子行?
您需要限制从父表中提取的行,然后进行联接。
SELECT *
FROM
(
SELECT *
FROM mytable
LIMIT 10
) parent
LEFT JOIN mytable child on child.`parent_id`=parent.id
ORDER by parent.id ASC
Run Code Online (Sandbox Code Playgroud)