php - CodeIgniter:计算连接表的结果

标签 php mysql codeigniter

现在我知道如何连接两个表了,我想实际计算第二个表中有事件记录的行数

比如说,我有这两个表:

blog     comments
-------  ----------
id       id
title    blog_id
content  comment

不,我想获取最后三个博客条目并计算每个博客条目的评论数,所有这些都在一个查询中。我尝试过类似的方法,但它不起作用:

$this->db->select('*')
         ->from('blog')
         ->order_by('blog.id', 'desc')
         ->limit(3);

$this->db->join('comments', 'blog_entry_id = blog.id')
         ->group_by('blog_entry_id')
         ->count_all_results('comments'); 

我该怎么办?我做错了什么?

最佳答案

明白了! :)

$this->db->select('blog.*, COUNT(comments.id) as num_comments')
         ->from('blog')
         ->order_by('blog.id', 'desc')
         ->limit(3);

$this->db->join('comments', 'blog_entry_id = blog.id')
         ->group_by('blog_entry_id');

关于php - CodeIgniter:计算连接表的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5695503/

相关文章:

javascript - 使用 moment.js 处理 View 中的 php 日期的正确方法是什么?

php - 如何在脚本中验证 CSS?

php - sql - 确定第一组记录

php - 防止全表扫描简单查询

php - 从 CodeIgniter 中的两个表检索数据

file - 代码点火器 "file_exists($filename)"

php - PDO select语句卡在询问数据库的部分

mysql - MS-Access:表太多,文件太大 - 多个链接表查询?

php - CodeIgniter 选择查询日期差异

php - 计算mysql中的行数?