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


How to query for loop every 7 days and group by name

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

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

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)

您可以在php中运行循环并查询每个日期范围。下面是获取值的语句。

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