我想显示select
查询并按date
对其进行分组。
我的问题:
SELECT COUNT(CASE WHEN status >= 4 THEN 1 END) as success, created_on FROM pickup GROUP BY (Date(created_on))
上面的查询产生了我预期的结果
$this->load->model('pickup_model');
$this->db->select("COUNT(CASE WHEN status >= 4 THEN 1 END) AS success, pickup.created_on");
$this->db->group_by("pickup.created_on");

created_on
字段为timestamp
格式,但我需要将其转换为date
格式,我不知道如何在codeigniter中使用该查询,我不能只{ {1}}因为我从模型中取出并加入了一些表格。我想知道它是否与别名有关?
我尝试过:
$this->db->group_by("created_on");
$this->db->group_by(DATE("pickup.created_on")):
$this->db->group_by(date('Y-m-d', strtotime ('pickup.created_on')):
以上工作都不是
答案 0 :(得分:0)
好吧我已经像这样模拟了你的案例
将其转换为CI
$this->db->select('count(ID) from pickup WHERE status >4) as success, created_on')->from('pickup')->group_by('created_on')->get()->result_array();
希望能解决您的问题,根据您的数据库架构更改表或字段的任何名称(如果需要)。
答案 1 :(得分:0)
$this->db->select("pickup.created_on");
$this->db->select("COUNT(CASE WHEN status >= 4 THEN 1 END) AS success",FALSE);
$this->db->group_by("pickup.created_on");
希望它对你有用。