php - Laravel 在带有“ROW_NUMBER() OVER PARTITION”的子查询中混合 GROUP 列 (MIN(),MAX(),COUNT(),...)
问题描述
我知道有很多问题包含该错误,但我还没有看到包含带有 row_numbers 的子查询的问题。
好的,所以我有这个原始查询,当我直接在数据库管理应用程序上运行时它可以工作(我使用 sequel pro)
ff 信息实际上取自我之前的问题:
我最终得到了这个查询
select * from (select *, ROW_NUMBER() OVER(PARTITION BY type ORDER BY id) AS seqnum from `example`) as `t` where `seqnum` <= 50
此查询在 sequel pro(数据库管理应用程序)上完美运行
但是当我这样做时(将其包装在 laravel 中的 DB::statement 上):
DB::statement("select * from (select *, ROW_NUMBER() OVER(PARTITION BY type ORDER BY id) AS seqnum from `example`) as `t` where `seqnum` <= 50");
在 Laravel 我得到:
Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
任何想法为什么它在 laravel 上失败但在数据库管理应用程序上没问题?