Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 为每个子类别选择X个子类别和N项_Mysql_Select_Group By_Records - Fatal编程技术网

Mysql 为每个子类别选择X个子类别和N项

Mysql 为每个子类别选择X个子类别和N项,mysql,select,group-by,records,Mysql,Select,Group By,Records,我有三张桌子 site_article | site_famille_articles | site_categorie id | id | id titre | titre | titre famille_id | categorie_id famille\u id是站点\u famille\u文章的约束键 分类是站点分类的约束键 在我的网站中,我希望每页最多显示4个“site\u f

我有三张桌子

site_article | site_famille_articles | site_categorie
id           | id                    | id
titre        | titre                 | titre
famille_id   | categorie_id
famille\u id是站点\u famille\u文章的约束键 分类是站点分类的约束键

在我的网站中,我希望每页最多显示4个“site\u famille\u articles”项目,并为所选“site\u categorie”的每个“site\u famille\u articles”显示最多6个“site\u articles”项目

我希望我能来解释我的问题

在mysql中有什么方法可以做到这一点吗

这是我试过的

$table_categorie = "site_categorie";
$table_famille_articles = "site_famille_articles";
$table_article = "site_article";

$sql = "SELECT $table_article.id as article_id, 
                $table_article.titre as article_titre, 
                $table_famille_articles.titre as famille_titre
                FROM $table_article 
                LEFT JOIN $table_famille_articles on $table_article.famille_id = $table_famille_articles.id 
                LEFT JOIN $table_categorie on $table_famille_articles.categorie_id = $table_categorie.id 
                WHERE $table_categorie.id IN 
                        ( SELECT id FROM $table_categorie WHERE $table_categorie.titre like '%".$_POST['titre_categorie']."%' )
                ORDER BY famille_titre ASC"
此查询允许我将所选“站点分类”的所有“站点文章”项目按“站点文章”分组

以下是一个例子: 此查询:

SELECT site_article.id as article_id, site_article.titre as article_titre, site_famille_articles.titre as famille_titre FROM site_article LEFT JOIN site_famille_articles on site_article.famille_id = site_famille_articles.id LEFT JOIN site_categorie on site_famille_articles.categorie_id = site_categorie.id WHERE site_categorie.id IN ( SELECT id FROM site_categorie WHERE site_categorie.titre like 'Peinture' ) ORDER BY famille_titre ASC

给我一个结果:

你能添加一些样本数据和预期结果吗?我相信这是可以做到的,但如果你能做的话,使用一些样本数据会容易得多。请看我在post@mcadam331ok中添加的示例。你的数据有什么问题,你希望看到什么?我想有两个变量:每个“站点家庭文章”的“站点家庭文章”的最大数量和“站点家庭文章”的最大数量,你明白吗?