$this->db->select('*');
$this->db->from('messages');
$this->db->where('user_id_get', $data['users_id']);
$this->db->group_by('user_id_get');
//$this->db->order_by('id','DESC'); This doesn't work
$data["Query"] = $this->db->get();
我如何在查询(codeigniter)中使用order_by和group_by?
答案 0 :(得分:0)
我不熟悉codeigniter中的sql处理,但groupBy user_id_get
和select *
的含义是什么意思?
如果具有相同user_id_get
- 值的多个行聚合并仅由其中一个表示,那么除了user_id_get
之外的其他属性有什么值呢?实际上,只能采用其中一个分组记录,某些数据库系统采用第一个,其他数据库系统(和SQL标准)甚至禁止使用除group by子句中引用的其他属性。例如,提供此discussion at SO。
因此,如果只取一个组中的一个记录,那么它对于除分组属性之外的属性的排序意味着什么,因为这意味着可能对随机选择的值进行排序,对吧? / p>
因此,如果您想获取特定用户的所有消息(如表达式where('user_id_get', $data['users_id']
所示),则group by user_id_get
会产生误导;我省略了分组,只使用了顺序。
希望我理解您的要求并希望它有所帮助。