0

我对 Codeigniter 的数据库查询有一些疑问。(订购者)

$this->db->select('*, MONTH(date) as mnth');
$this->db->where('school_id', $school_id); 
$this->db->group_by('MONTH(date)'); 
$this->db->order_by('date', 'desc');
$query = $this->db->get('events'); 

在上面的代码中,我想获取每个月的事件,但它只返回每个月的第一个事件。我已经尝试过使用 php 循环,但我希望它没有循环。希望得到良好的响应。

此致

穆罕默德·沙特

4

1 回答 1

1

GROUP BY会将与参数匹配的所有列值聚合到一行中。您通常需要SUMSELECT语句中使用聚合函数,如GROUP BY. 如果您选择的列没有与聚合函数一起使用,那么您应该将它们包含在GROUP BY. 我不确定你到底想要达到什么目标,但我不认为它GROUP BY正在做你所期望的 - 也许尝试删除它(或向它添加更多列名)。

于 2013-05-04T00:08:10.087 回答