当用户名相同时,我如何对相同的列值求和 - Laravel 5.2?
How i sum same a column value when username is same - Laravel 5.2?
我有一个 table,其中我有 winners
奖品的所有详细信息,其中 username
是哪个用户中奖的。现在我想在相同 username
时显示此列,然后它将显示总计 win_number
。我尝试了一些方法,但找不到我想要的正确方法。如果我使用:
$winners = Winner::where('id', '>=', 1)->paginate(1000);
然后我会将检索结果显示为获胜者table,就像在数据库中一样。
我的获奖者table:
我的输出:
但想用ex检索所有数据。如果 guest
我想在每个 guest
名称旁边显示 4(guest
用户的获胜总数)
我试过另一种方法,但它只显示 guest
列,其中 username= guest
.
$winners = DB::table('winners')
->select(DB::raw('*'))
->where('id', '<>', 1)
->where('username', '=', 'guest')
->get();
我怎样才能实现,来自获胜者的所有数据 table 如果用户名相同,那么我想在每个用户名旁边的获胜总数。顺便说一下,我一周都在查询。提前致谢。
你可以试试
DB::table('winners')->groupBy('identify_number')
->selectRaw('*, sum(win_number) as sum')
->get();
你可以这样使用
$data = DB::table("winners")
->select(DB::raw("COUNT(*) as count_row"))
->where('id', '<>', 1)
->groupBy(DB::raw("username"))
->get();
使用 Laravel 个集合的 sum()
https://laravel.com/docs/5.5/collections#method-sum
我有一个 table,其中我有 winners
奖品的所有详细信息,其中 username
是哪个用户中奖的。现在我想在相同 username
时显示此列,然后它将显示总计 win_number
。我尝试了一些方法,但找不到我想要的正确方法。如果我使用:
$winners = Winner::where('id', '>=', 1)->paginate(1000);
然后我会将检索结果显示为获胜者table,就像在数据库中一样。
我的获奖者table:
我的输出:
但想用ex检索所有数据。如果 guest
我想在每个 guest
名称旁边显示 4(guest
用户的获胜总数)
我试过另一种方法,但它只显示 guest
列,其中 username= guest
.
$winners = DB::table('winners')
->select(DB::raw('*'))
->where('id', '<>', 1)
->where('username', '=', 'guest')
->get();
我怎样才能实现,来自获胜者的所有数据 table 如果用户名相同,那么我想在每个用户名旁边的获胜总数。顺便说一下,我一周都在查询。提前致谢。
你可以试试
DB::table('winners')->groupBy('identify_number')
->selectRaw('*, sum(win_number) as sum')
->get();
你可以这样使用
$data = DB::table("winners")
->select(DB::raw("COUNT(*) as count_row"))
->where('id', '<>', 1)
->groupBy(DB::raw("username"))
->get();
使用 Laravel 个集合的 sum() https://laravel.com/docs/5.5/collections#method-sum