分组并在laravel中查询

时间:2016-07-27 22:08:16

标签: mysql sql database laravel-5

我需要一个基于日期的设备1,2的单位总和,但我正在尝试我的查询,但结果是不对的。我没有使用功能。所以请帮助我。我的查询,架构样本和预期结果如下所示

数据库数据

|--------------------------------------
|device_id  |   unit    | date       
|--------------------------------------
| 1         |   2       | 2016-07-01
---------------------------------------
| 1         |   3       | 2016-07-02
--------------------------------------
| 2         |   1       | 2016-07-02
--------------------------------------
| 2         |   4       | 2016-07-10
--------------------------------------
| 1         |   3       | 2016-07-10
-------------------------------------
| 2         |   1       | 2016-07-21
--------------------------------------
| 2         |   2       | 2016-07-23
--------------------------------------
| 1         |   3       | 2016-07-25
--------------------------------------
| 2         |   2       | 2016-07-27
--------------------------------------
| 1         |   3       | 2016-07-27

我的查询

 $startMonth=Carbon::today()->startOfMonth()->toDateString();
  $now=Carbon::today()->toDateString();
$consumption= PowerConsumption::groupBY(['date'])
            ->selectRaw('sum(unit) as yAxis,date')
            ->whereIn('device_id',[1,2])
            ->whereBetween('date',[$startMonth,$now])->get();

预期结果

[
{
    yAxis:2,
    date:2016-07-01
},
{
    yAxis:4, //3+1
    date:2016-07-02
},
{
    yAxis:7, //4+3
    date:2016-07-10
},
{
    yAxis:1, 
    date:2016-07-21
},
{
    yAxis:2, 
    date:2016-07-23
},
{
    yAxis:3, 
    date:2016-07-25
},
{
    yAxis:5, //2+3
    date:2016-07-27
}
]

请通过修改我的查询并查询返回上述预期结果来帮助我

0 个答案:

没有答案