【发布时间】:2014-11-26 23:07:29
【问题描述】:
我试图在活动记录/codeignighter 中对我的数据进行分组,以便能够计算每天报告的订单数量。
order_date 字段是一个使用PHP - time() 填充的INT(11)。
有一个created 字段,但我还没有使用它。
数据库是这样的
(注意数据只是样本,order_date 与创建日期不匹配)
id | order_date | order_total |created....
---+------------+-------------+----------
0 | 1411780207 | 12.50 |2014-10-01 00:12:23 ....
1 | 1411750209 | 14.50 |2014-10-02 00:22:33....
1 | 1412780309 | 14.50 |2014-10-02 00:25:33....
当我使用下面的代码时,我会在同一天获得多条记录,因为我认为它也是按精确到秒的时间分组的。如何仅按 D/M/Y 日期分组?
public function get_orders($limit = 5, $date_start ='01/01/2001',$date_end='01/12/2001')
{
//first convert the date format
$date_start = strtotime( $date_start );
$date_end = strtotime( $date_end );
$this->db->select('order_date, count(*) as total_orders, sum(order_total) as orders_total');
$this->db->where('order_date >=', $date_start);
$this->db->where('order_date <=', $date_end);
$this->db->order_by('order_date desc', FALSE);
$this->db->group_by('order_date');
$this->db->limit($limit);
return $this->db->get('orders')->result();
}
【问题讨论】:
-
order_date 使用的 db 字段类型是什么
标签: php sql codeigniter activerecord