MySQL内部加入LIMIT到左表

Mr *_*yde 7 mysql inner-join

我有这个数据库查询

SELECT *
FROM (`metadata` im)
INNER JOIN `content` ic ON `im`.`rev_id`  = `ic`.`rev_id`
WHERE `im`.`id` = '00039'
AND `current_revision` = 1
ORDER BY `timestamp` DESC
LIMIT 5, 5 
Run Code Online (Sandbox Code Playgroud)

查询将结果中的总行数限制为5.我希望将左表metadata限制为5而不限制整个结果集.

我该如何编写查询?

Chr*_*yne 13

如果你考虑一下你想要做什么,你就不会真正做出选择metadata.

您需要先查询该子查询.

尝试:

SELECT *
FROM ((select * from metadata limit 5) im)
INNER JOIN `content` ic ON `im`.`rev_id`  = `ic`.`rev_id`
WHERE `im`.`id` = '00039'
AND `current_revision` = 1
ORDER BY `timestamp` DESC
Run Code Online (Sandbox Code Playgroud)

  • 这将获得前5行'元数据',然后进一步查询该有限数据集. (2认同)