我在codeigniter工作。我的问题是我想显示所有具有相同ID的行。但是当我执行group_by时,它只输出该组的一行。
下面是我的模特
function category_content(){
$this->db->select('*');
$this->db->from('category');
$this->db->group_by('category_id');
$query = $this->db->get();
return $query->result_array();
}
请帮忙。
答案 0 :(得分:1)
根据sql属性Group By
对所有匹配的记录进行分组,并且只显示一个。看来你想按id排序它们。然后最好使用order by
答案 1 :(得分:0)
参见示例希望您能了解这一点..
tableA
_____
id name marks
-- ---- ---
1 x 25
2 y 27
1 z 30
SELECT * FROM tableA group by id
OUTPUT:
1 x 25
2 y 27
在你的情况下你应该使用WHERE子句。
SELECT * FROM tableA WHERE id=1
OUTPUT:
1 x 25
1 z 30
function category_content(){
$this->db->select('*');
$this->db->from('category');
$this->db->where($category_id);
$query = $this->db->get();
return $query->result_array();
}
https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html