假设我有 2 个表:blog_posts 和类别。每篇博文只属于一个类别,所以这里的两个表之间基本上有一个外键。
我想从每个类别中检索 2 个最后的帖子,是否可以在一个请求中实现这一点?GROUP BY 将对所有内容进行分组,并在每个类别中只留下一行。但我想要其中的 2 个。
执行 1 + N 查询(N = 类别数)很容易。首先检索类别。然后从每个类别中检索 2 个帖子。
我相信执行 M 个查询也很容易(M = 我想从每个类别中获得的帖子数)。第一个查询选择每个类别的第一个帖子(带有分组依据)。第二个查询检索每个类别的第二个帖子。等等
我只是想知道是否有人对此有更好的解决方案。我真的不介意为此进行 1+N 查询,但出于好奇心和一般 SQL 知识,将不胜感激!
在此先感谢谁能帮助我。