Mysql 根据表2从表1中选择n行

Mysql 根据表2从表1中选择n行,mysql,sql,greatest-n-per-group,Mysql,Sql,Greatest N Per Group,我有两张桌子:Catscategory和post。 我想为每个类别选择n篇文章 我试过这个: SELECT * FROM cat RIGHT JOIN (SELECT * FROM post WHERE post.CatID=cat.ID LIMIT 3 ) ... 问题是MySQL无法识别子查询中的cat.ID 问候 SELECT a.ID, a.Category, b.Description FROM Category a INN

我有两张桌子:Catscategory和post。 我想为每个类别选择n篇文章

我试过这个:

SELECT * FROM cat
RIGHT JOIN (SELECT * FROM post WHERE post.CatID=cat.ID LIMIT 3 ) ... 
问题是MySQL无法识别子查询中的cat.ID

问候

SELECT  a.ID, 
        a.Category,
        b.Description
FROM    Category a
        INNER JOIN Post b
            ON a.ID = b.Cat_ID
WHERE   
(
    SELECT  COUNT(*)
    FROM    Post c
    WHERE   b.Cat_ID = c.Cat_ID AND
            b.ID <= c.ID
) <= 2

我必须指出,我不想将输出限制为n。我想为每个类别检索n行。例如,如果你有5个类别,限制为3,你的结果必须是15条记录。我想为每个类别检索n行。例如,如果你有5个类别,限制为3,你的结果必须是15条记录。太好了!谢谢。也谢谢你的SQLFiddle。太好了!谢谢。也谢谢你的SQLFiddle。