Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.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排序查询_Mysql - Fatal编程技术网

MySQL排序查询

MySQL排序查询,mysql,Mysql,我有一个MySQL查询的问题(我希望很简单) 我有两个表格:文章、评论 一篇文章可以有很多评论,因此评论表中有一个文章的外部id 我想得到所有的文章,同时循环它们显示在页面上,然后得到每篇文章的所有评论数。简单,这就完成了。现在的问题是,我想根据评论的数量对结果进行排序,但仍然以相同的方式显示结果 所以基本上我想: SELECT * FROM tbl_articles JOIN tbl_comments ORDER BY (the most comments); 我希望这一切都可以在一个查询中

我有一个MySQL查询的问题(我希望很简单)

我有两个表格:文章、评论

一篇文章可以有很多评论,因此评论表中有一个文章的外部id

我想得到所有的文章,同时循环它们显示在页面上,然后得到每篇文章的所有评论数。简单,这就完成了。现在的问题是,我想根据评论的数量对结果进行排序,但仍然以相同的方式显示结果

所以基本上我想:

SELECT *
FROM tbl_articles
JOIN tbl_comments
ORDER BY (the most comments);
我希望这一切都可以在一个查询中完成,因为整个查询是从多组复选框中动态生成的,其中一个查询可以如下所示:

SELECT *
FROM tbl_articles
WHERE subject IN (1,2,5)
    AND medium IN (1,3)
    AND date_active > NOW()
    AND...
我很乐意提供任何进一步的信息。

类似于

SELECT *, COUNT(tbl_comments.id) as comments_count
FROM tbl_articles JOIN tbl_comments ON (tbl_comments.article_id = tbl_articles.id)
GROUP BY tbl_comments.article_id
ORDER BY comments_count;