如何每7天查询一次循环并按名称分组

时间:2015-08-10 05:18:18

标签: php mysql datetime laravel group-by

我想查询member表中的数据。 什么是SQL查询?或雄辩的laravel框架?

条件

  1. 查询循环每7天,从星期三00:00 AM开始,到星期二晚上11:59结束
  2. 按成员分组每个循环和总价
  3. TBL_MEMBER表

    id | member| price | datetime
    1  | AAAAA | 100   | 2015-08-01 00:00:00 
    2  | BBBBB | 100   | 2015-08-02 00:00:00 
    3  | BBBBB | 100   | 2015-08-03 00:00:00 
    4  | CCCCC | 100   | 2015-08-10 00:00:00 
    5  | AAAAA | 100   | 2015-08-11 00:00:00 
    6  | BBBBB | 100   | 2015-08-15 00:00:00 
    7  | CCCCC | 100   | 2015-08-20 00:00:00 
    8  | AAAAA | 100   | 2015-08-22 00:00:00 
    9  | AAAAA | 100   | 2015-08-25 00:00:00 
    

    例如

    (29-04/08/2015)
      1 | AAAAA | 100 | 2015-08-01 00:00:00 
      2 | BBBBB | 200 | 2015-08-02 00:00:00 (group by member id:2, id:3)
    
    (05-11/08/2015)
      4 | CCCCC | 100 | 2015-08-10 00:00:00  
      5 | AAAAA | 100 | 2015-08-11 00:00:00
    
    (12-18/08/2015)
      6 | BBBBB | 100 | 2015-08-15 00:00:00
    
    (19-25/08/2015)
      7 | CCCCC | 100 | 2015-08-20 00:00:00
      8 | AAAAA | 200 | 2015-08-22 00:00:00 (group by member id:8, id:9)
    

1 个答案:

答案 0 :(得分:0)

您可以在php中运行循环并查询每个日期范围。 这是抓住价值观的雄辩。

Member::whereBetween('datetime', [$startDateTime, $endDateTime])
      ->groupBy('member')
      ->select('id', 'member', DB::raw('SUM(price) as price'), 'datetime')
      ->get();