【问题标题】:Sum of rows and groupby using eloquent使用 eloquent 的行和 groupby 的总和
【发布时间】:2016-02-15 12:38:26
【问题描述】:

具有以下列:

category, rating, num_users, date_voted /*number of users*/

如何使用 eloquent 获得按类别分组的评分,作为给定日期范围内用户数量的总和

Category::groupBy('num_users') //returns the categories

主表数据示例

--------------------------------
category| rating| num_users| date_voted
---------------------------------------
Action  |5      |2         | 12-12-2015
Comedy  |2      |2         | 12-12-2015
Fantasy |3      |2         | 12-12-2015
Action  |4      |2         | 14-12-2015
Comedy  |5      |2         | 14-12-2015

我希望 html 表格采用类别与评分的形式(1 到 5 之间),例如

-----------------------------------------------------
Category|Rating 1|Rating 2|Rating 3|Rating 4|Rating 5|
------------------------------------------------------
Action  |2       |3       |5       |5       |9       |  
Comedy  |9       |8       |6       |9       |14      | 
Fantasy |1       |2       |3       |6       |7       | 

【问题讨论】:

    标签: mysql laravel eloquent


    【解决方案1】:

    如果您想按类别获取用户组的总和,您可以使用:

    Category::groupBy('category')
    ->selectRaw('sum(num_users) as num_users , category')
    ->get();
    

    【讨论】:

    • 嗨 Gouda Elalfy,我已经通过编辑表达了我的问题
    • @TimothyRadier 能否提供一些主表数据
    【解决方案2】:

    也许对你有帮助

    Category::select(DB::raw('sum(users) as total_users'),'category')->groupBy('category')->get();
    

    【讨论】:

    • 嗨 Imtiaz Pabel,我已经通过编辑表达了我的问题
    猜你喜欢
    • 2019-07-09
    • 2018-11-28
    • 1970-01-01
    • 2014-09-13
    • 1970-01-01
    • 2020-04-23
    • 2022-01-17
    • 2019-08-11
    • 2017-12-10
    相关资源
    最近更新 更多