我有 2 个表,它们以一对多的关系连接。第一个名为 papers 的表有一个 id,其他命名的图片有 paperid 作为对 paperid 的引用。
我要做的是选择与每篇论文相关的所有图片。我可以通过建立连接来做到这一点,问题是我不知道如何限制论文的选择,但仍然想在限制范围内获取每篇论文的所有图片。
限制 = 4
论文1:3张图片
论文2:16张图片
论文3:10张图片
论文4:2张图片
希望你的理解能有所帮助,它应该相当简单,但我只是无法得到正确的解决方案。
最佳答案
这是“每组 N 个”问题,它不相当简单。你想要的不是像大多数查询那样的集合交集,所以你必须做一些复杂的事情来强制结果。查看您的问题的这些重复项:
MySQL Query - recent entries per group
Using LIMIT within GROUP BY to get N results per group?
http://www.artfulsoftware.com/infotree/queries.php#104
总是有另一种选择,即针对每篇匹配的论文针对其 4 张图片发出一个查询。
关于sql - 从两个表中每组选择 4 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4957195/