我正在尝试运行查询以选择与文章 ID 相关的评论最多的文章。
我有一个文章表和一个评论表,评论表有一个链接它们的 article_id 字段,我想在这里做一个左连接是希望我到目前为止。
SELECT *, SUM(`comments`.`article_id`) AS total FROM (`articles`) JOIN `comments` ON `comments`.`article_id` = `articles`.`id` GROUP BY `comments`.`article_id` ORDER BY `total` asc
我正在使用 CodeIgniter,上面是下面我的活动记录的输出。
$this->db->select('*');
$this->db->from('articles');
$this->db->join('comments', 'comments.article_id = articles.id');
$this->db->group_by('comments.article_id');
$this->db->select_sum('comments.article_id', 'total');
$this->db->order_by('total', 'asc');
$query = $this->db->get();
return $query->result();
好的,这工作我似乎得到了正确的输出,但我没有得到评论的数量作为我需要工作的值。
所以我想得到
id 为 1 的文章有 23 条评论
id 为 2 的文章有 3 条评论
等等等等
目前我正在获得文章 ID 的总和,我认为我的总字段值非常高,但不正确可以对此有所帮助吗???
谢谢
抱歉,我使用 SUM 而不是计数 AARRRRRGGGGHHHH 回答了我自己的问题,这很有效
SELECT *, COUNT(`comments`.`article_id`) AS total FROM (`articles`) JOIN `comments` ON `comments`.`article_id` = `articles`.`id` GROUP BY `comments`.`article_id` ORDER BY `total` asc