mysql - 根据mysql中的courseid获取特定列的计数

标签 mysql codeigniter

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

这是类(class)表:

enter image description here

这是我的主题表:

enter image description here

因此,从主题表中,我想计算以下状态:courseid 1 的状态为 (5)count 2,courseid 2 的状态为 (11) count 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 ) )

谁能帮我看看如何得到结果。

提前致谢。

最佳答案

在代码中添加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');

关于mysql - 根据mysql中的courseid获取特定列的计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51960300/

相关文章:

MySQL - 如何在不破坏现有数据的情况下增加数据库中现有列的 varchar 大小?

mysql - 数据库表结构

mysql - Django:按天分组和计数

mysql - 如何在 mysql 中插入带有斜杠而不是破折号的日期类型值?

mysql - 在 SQL 中的专用列中插入特定值

php - 当 Code Igniter 中没有更新时,如何测试我的 MySQL 更新查询是否成功?

mysql - 无法截断在 Codeigniter 中的外键约束中引用的表

php - 进行 CodeIgniter 数据库查询

php - num_rows() 和 result_array() 在同一个函数中?代码点火器

php - 使用 PHP/Codeigniter 连接到远程数据库(EC2 实例)?