Php In-Codeigniter:如何在mysql中使用Join在表中计数
我有两张桌子,一张一张 该公司有两个栏目- v_id 公司名称 用户评分有三列 注册号 v_id 速度 在这个rate v_id列中,我有一个company_id v_id,它有两个不同的评级,当我每次计算一个公司的评级时,我只得到一个。如何计算公司的评级Php In-Codeigniter:如何在mysql中使用Join在表中计数,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有两张桌子,一张一张 该公司有两个栏目- v_id 公司名称 用户评分有三列 注册号 v_id 速度 在这个rate v_id列中,我有一个company_id v_id,它有两个不同的评级,当我每次计算一个公司的评级时,我只得到一个。如何计算公司的评级 您已使用公司名称和费率对结果进行分组。这就是它将所有记录的计数返回为1的原因。仅按公司名称分组将返回所需结果 改变这个 $this->db->group_by('company.company_name, rate'); 到 此
您已使用公司名称和费率对结果进行分组。这就是它将所有记录的计数返回为1的原因。仅按公司名称分组将返回所需结果 改变这个
$this->db->group_by('company.company_name, rate');
到
此外,company用作company_details表的别名,但未创建该表
$this->db->from('company_details AS company');
由于goup_by,它只从用户评级表返回一条记录。删除group by后再试。您也可以按照下面的答案进行操作。删除group by后,我遇到了一个错误,就像在没有group by的聚合查询中一样。它提供了正确的数据。对于ID为3的公司,只有1个评级,因此评级值为1。对于公司ID 1,有2个评级,因此评级值为2。我有点震惊,因为此查询在sqlfiddle上运行,但在mysql上此查询抛出错误。选择列表的表达式1不在GROUP BY子句中,并且包含未聚合的列“search.company.v_ID”,它在功能上不依赖GROUP BY子句中的列;这与sql\u mode=only\u full\u group\u BY从sql配置文件中删除sql模式full\u group\u BY不兼容谢谢各位。。我不需要删除完整的组。
$this->db->group_by('company.company_name');
$this->db->from('company_details AS company');