SELECT
users.name,
SUM(mileages.mileage) as mileage,
mileages.date
FROM users INNER JOIN mileages ON users.id=mileages.user_id
GROUP BY users.name
你能帮我在Laravel查询版本中转换这个mysql查询吗?
答案 0 :(得分:2)
DB::table('users')
->join('mileages','users.id','=','mileages.user_id')
->select('users.name',DB::raw('SUM(mileages.mileage) as mileage),'mileages.date')
->get();
应该做的魔术。 没试过,只是从laravel docs中复制过来。
答案 1 :(得分:0)
我使用MySql“视图”来解决此问题
CREATE VIEW view_name AS
选择b
。name
AS name
,
总和(a
。mileage
)AS mileage
来自(prudential
。mileages
a
加入prudential
。users
b
on((a
。user_id
= b
。id
)))
where((year(a
。date
)= year(curdate()))
和(月(a
。date
)=月(curdate())))
分组b
。name