Php 正在尝试在Lumen项目中执行此查询

Php 正在尝试在Lumen项目中执行此查询,php,mysql,sql,eloquent,Php,Mysql,Sql,Eloquent,我正在做一个流明项目,我很难让它成功。这是我在php中使用Lumen的第一个项目。我在Workbench上测试了这个查询,得到了正确的结果,但我不知道如何让它工作 with top as ( select tbl.*, row_number() over (partition by sensor order by timestamp desc) as parted from sometable as tbl ) select * from top where parted <=3

我正在做一个流明项目,我很难让它成功。这是我在php中使用Lumen的第一个项目。我在Workbench上测试了这个查询,得到了正确的结果,但我不知道如何让它工作

with top as
(
    select tbl.*, row_number() over (partition by sensor order by timestamp desc) as parted from sometable as tbl
)
select * from top where parted <=3
使用Laravel query builder文档,并使用其他类似问题使其正常工作。 这让我很接近:

$result = Mydb::select(DB::raw("* row_number() over (partition by sensor order by timestamp desc) as parted"))
->get()->where('parted', '<=', 3);

但是json的格式很差,添加了一些索引,我不知道它是从哪里来的。

试着读一下:你使用的是什么版本的MySQL?CTE要求8.0或更高版本。我使用的是8.0+版本。我只需要每个Pi的最新温度读数。请尝试阅读此帖子。。。试着读一下:你使用的是什么版本的MySQL?CTE要求8.0或更高版本。我使用的是8.0+版本。我只需要每个Pi的最新温度读数。请尝试阅读此帖子。。。