根据MySQL中的课程ID获取特定列的计数

时间:2018-08-22 05:20:46

标签: mysql codeigniter

嗨,我正在尝试从表格中获取状态列的计数。我有两个表,一个是course,另一个是topics

这是课程表:

enter image description here

这是我的主题表:

enter image description here

因此,从主题表中,我想计算例如ex的状态:课程ID 1的状态为(5)计数2,课程ID 2的状态为(11)计数1

在这里,我尝试使用此查询,但是没有给我期望的结果。

    public function getTopicReports() {
   $this->db->select('count(t.status) as statuscount,t.topicName as topicname,c.coursename,t.status')
            ->from('topics as t')
            ->join('course as c', 't.courseId = c.id');
    $query = $this->db->get();
    return $query->result();
}


Array ( [0] => stdClass Object ( [statuscount] => 3 [topicname] => topic for course123 [coursename] => course 123 [status] => 5 ) )

任何人都可以帮助我如何获得结果。

谢谢。

1 个答案:

答案 0 :(得分:1)

在您的代码中添加group_by

$this->db->select('count(t.status) as statuscount,t.topicName as topicname,c.coursename,t.status')
            ->from('topics as t')
            ->join('course as c', 't.courseId = c.id')
            ->group_by('t.courseId,t.status');