如何使用laravel原始查询进行嵌套选择?
SELECT day_of_week, AVG(order_count) average_order FROM
(
SELECT DAYNAME(order_date) day_of_week,
DAYOFWEEK(order_date) day_num,
TO_DAYS(order_date) date,
count(*) order_count
FROM orders
GROUP BY date
) temp
GROUP BY day_of_week
ORDER BY day_num
这就是我目前所尝试的:
DB::table('(
SELECT DAYNAME(order_date) day_of_week,
DAYOFWEEK(order_date) day_num,
TO_DAYS(order_date) date,
count(*) order_count
FROM orders
GROUP BY date
) temp')
->select(DB::raw('day_of_week, AVG(order_count) average_order'))
->groupBy(DB::raw('day_of_week'))
->orderBy(DB::raw('day_num'))
->get();
这不起作用,但到目前为止,这个查询非常接近。
顺便说一句,我用的是Laravel5.6。
谢谢!
2条答案
按热度按时间dy1byipe1#
使用
DB::raw()
在table()
不要用在groupBy()
以及orderBy()
:你也可以使用
fromSub()
:jc3wubiy2#
试试这个,但肯定需要编辑