首页 > 解决方案 > Codeigniter 查询,用于选择多列的总和,每行具有 where 条件

问题描述

我已经制作了这个函数来获取基于 group_id 的人口百分比总和为 1,2 和 3 但它不起作用

public function ethnicity($value='')
        {
            $this->db->select('SUM(population_percent) as p1 where group_id=1,SUM(population_percent) as p2 where group_id=2,SUM(population_percent) as p3 where group_id=3', FALSE);
            $this->db->from('ethnic_group');
            $data=$this->db->get()->row_array();
                return $data;
        }

标签: mysqlcodeigniteractiverecord

解决方案


当您使用时,$this->db->select()您正在编写查询的“选择”部分。要编写您应该使用的“位置” $this->db->where('group_id=3')

如果您想编写一个完整的查询并告诉 CodeIgniter 运行它,您可以使用$this->db->query($sql)with $sqlbeign 您想要运行的实际查询,如此处的文档中所示

所以我认为它应该看起来像这样:

 $sql = 'your query here';
 $data = $this->db->query($sql)->row_array();
 return $data;

推荐阅读