从两个表中为每组选择4行

时间:2011-02-10 12:40:34

标签: sql mysql

我有2个表,它们以一对多的关系连接。第一个名为纸张的表有一个id,另一个名为paperid的图片作为paperid的参考。

我要做的是选择与每张纸相关的所有照片。我可以通过建立连接来做,问题是我无法弄清楚如何限制论文的选择,但仍然希望在限制范围内获取每篇论文的所有图片。

limit = 4

论文1:3图片
论文2:16图片
论文3:10图片
论文4:2图片

希望你理解可以提供帮助,它应该相当简单,但我只是无法得到正确的解决方案。

1 个答案:

答案 0 :(得分:0)

这是“每组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张图片发出一个查询。