【问题标题】:order by along with group by [duplicate]order by 和 group by [重复]
【发布时间】:2017-01-15 18:26:42
【问题描述】:
$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?

【问题讨论】:

标签: php mysql sql codeigniter


【解决方案1】:

我不熟悉codeigniter中的sql处理,但是groupBy user_id_getselect *是什么意思?

如果具有相同user_id_get-value 的多行被聚合并仅由其中一个表示,那么除user_id_get 之外的其他属性有什么值?实际上,只能取一个分组记录,一些数据库系统取第一个,其他数据库系统(和 SQL 标准)甚至禁止使用除 group by 子句中提到的属性之外的其他属性。例如,授予这个discussion at SO

因此,如果只取组中的一条记录,那么对除 group-by 属性之外的属性进行排序意味着什么,因为这意味着对可能随机选择的值进行排序,对吧?

因此,如果您想获取特定用户的所有消息(如表达式where('user_id_get', $data['users_id'] 所示),那么group by user_id_get 具有误导性;我会省略 group by,只使用 order by。

希望我能正确理解您的要求,希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2013-09-20
    • 1970-01-01
    • 2011-06-28
    • 2017-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2021-02-22
    相关资源
    最近更新 更多