【发布时间】:2022-06-14 21:04:00
【问题描述】:
我正在尝试在 Laravel 中获取下一行和上一行 id,但它不会让我这样做而不会出现此错误:
SQLSTATE[HY000]: 一般错误: 4015 Window function is allowed only 在 SELECT 列表和 ORDER BY 子句中(SQL:SELECT OrderID、EmployeeID、 LEAD(OrderID,1) OVER ( ORDER BY OrderID ) nextID, lag(OrderID,1) OVER ( ORDER BY OrderID ) 以前的 FROM 订单组 BY OrderID, EmployeeID, nextID, previous )
这是正在处理的代码
$order = DB::select(DB::raw("
SELECT
OrderID,
EmployeeID,
LEAD(OrderID,1) OVER (
ORDER BY OrderID
) nextID,
lag(OrderID,1) OVER (
ORDER BY OrderID
) previous
FROM
orders
group BY
OrderID,
EmployeeID,
nextID,
previous
"))->orderby('OrderID', 'EmployeeID', 'nextID', 'previous')->get();
【问题讨论】:
-
您是否尝试在不使用 GROUP BY 的情况下执行查询?