我正在尝试 - 使用 laravel 4 来获取一个查询,该查询会在给定的时间段内产生一周中每一天的访问者/客户的平均数量,例如星期一、星期二、星期三等。
我可以使用以下查询在 mySql 中执行此操作:
SELECT day_of_week, AVG(visitors_sum) average_order FROM
(
SELECT DAYNAME(play_date) day_of_week,
DAYOFWEEK(play_date) day_num,
TO_DAYS(play_date) `date`,
sum(group_size) visitors_sum
FROM reservations
GROUP BY `date`
) temp
GROUP BY day_of_week
ORDER BY day_num
我试着简单地用查询做一个 db::raw 但这不起作用。除此之外,我无法解决这个问题。我首先尝试使用以下方法创建子查询:
$average = DB::table('reservations',
DB::raw('DAYNAME(play_date) AS day_of_week,
DAYOFWEEK(play_date) AS day_num,
TO_DAYS(play_date) AS playdate,
sum(group_size) as visitors_sum)'))
->groupBy('day_of_week')
->get();
但这提出了一个错误未知列“day_of_week”所以我假设流利的不能支持groupBy中的别名并且可能是sortby?
那么,我怎样才能重新创建这个查询来获得我需要的结果,最好是一次调用?
任何帮助表示赞赏
谢谢