用 Eloquent 中的平均值组成一个 groupby 记录
Compose a groupby record with avg in Eloquent
我有这个 SQL 查询:
SELECT *, AVG(value) as avg FROM users_has_project GROUP BY project_id
我已经通过以下方式在 Eloquent 中进行了翻译:
Vote::select('AVG(value) as avg')->groupBy('project_id')->get();
但我收到以下错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'AVG(value)' in
'field list' (SQL: select AVG(value)
as avg
from
users_has_project
group by project_id
)
尝试对聚合使用原始查询:
Vote::selectRaw('AVG(value) as avg')->groupBy('project_id')->get();
@DigitalDrifter 的回答只是一个微小的改进:
Vote::selectRaw('project_id, AVG(value) as avg')->groupBy('project_id')->get();
我有这个 SQL 查询:
SELECT *, AVG(value) as avg FROM users_has_project GROUP BY project_id
我已经通过以下方式在 Eloquent 中进行了翻译:
Vote::select('AVG(value) as avg')->groupBy('project_id')->get();
但我收到以下错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'AVG(value)' in 'field list' (SQL: select
AVG(value)
asavg
fromusers_has_project
group byproject_id
)
尝试对聚合使用原始查询:
Vote::selectRaw('AVG(value) as avg')->groupBy('project_id')->get();
@DigitalDrifter 的回答只是一个微小的改进:
Vote::selectRaw('project_id, AVG(value) as avg')->groupBy('project_id')->get();