Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php In-Codeigniter:如何在mysql中使用Join在表中计数_Php_Mysql_Codeigniter - Fatal编程技术网

Php In-Codeigniter:如何在mysql中使用Join在表中计数

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'); 到 此

我有两张桌子,一张一张

该公司有两个栏目-

v_id 公司名称 用户评分有三列

注册号 v_id 速度 在这个rate v_id列中,我有一个company_id v_id,它有两个不同的评级,当我每次计算一个公司的评级时,我只得到一个。如何计算公司的评级


您已使用公司名称和费率对结果进行分组。这就是它将所有记录的计数返回为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');