我试图在Laravel中获取下一行和上一行ID,但它不允许我这样做,否则会出现以下错误:
数据库状态[HY000]:一般错误:4015窗口函数只允许在SELECT列表和ORDER BY子句中使用(SQL:SELECT订单ID,雇员ID,提前(订单ID,1)超过(按订单ID排序)下一个ID,滞后(订单ID,1)超过(按订单ID排序)上一个FROM订单组按订单ID,雇员ID,下一个ID,上一个)
这是我正在编写的代码
$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();
2条答案
按热度按时间hxzsmxv21#
试试看
kq0g1dla2#
希望这能对一些人有所帮助。
SQL查询
Laravel查询生成器