Php 在我的laravel项目中有一个额外的“)”,laravel为我查询

Php 在我的laravel项目中有一个额外的“)”,laravel为我查询,php,mysql,sql,database,laravel,Php,Mysql,Sql,Database,Laravel,这是我的密码: DB::表'admins'->其中'a_id',函数$query { $query->select'a_id'->fromRaw'选择一个_id,行号 按\u用户名进行分区,按\u用户名作为来自管理员的行\u num排序 不 ->其中,原始“行数>1”; }->删除; }; 以下是laravel对我的查询: delete from `admins` where `a_id` in (select `a_id` from ( select a_id, row_number() o

这是我的密码:

DB::表'admins'->其中'a_id',函数$query { $query->select'a_id'->fromRaw'选择一个_id,行号 按\u用户名进行分区,按\u用户名作为来自管理员的行\u num排序 不 ->其中,原始“行数>1”; }->删除; }; 以下是laravel对我的查询:

delete from `admins` where `a_id` in 
(select `a_id` from ( select a_id, row_number() over(
partition by a_username order by a_username) as row_num from admins ) 
t where row_num > 1));
正如您所看到的,在查询的末尾有一个问题,如果我删除它,它将起作用,但我如何才能做到这一点

我从这个错误中得到:

Illuminate\Database\QueryException
SQLSTATE[42000]: Syntax error or access violation: 1140 Mixing of 
GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is 
illegal if there is no GROUP BY clause (SQL: delete from `admins` 
where 
`a_id` in (select `a_id` from ( select a_id, row_number() over( 
partition by a_username order by a_username) as row_num from admins ) 
t where row_num > 1))
有了这个错误,我得到了一个额外的在查询的结尾,它不是我的代码,似乎拉威尔把它错了

谁知道我如何删除它,或者如果问题出现在代码中,我在代码中犯了什么错误

我的laravel版本是:7.9.2,我的PHP版本是7.4.5。

尝试更改

 strict => true to false in config/database.php in connections => mysql.

检查是否有帮助。

尝试在connections=>mysql中的config/database.php中将strict=>true更改为false。检查是否有帮助。你能接受其他人从中获得帮助的答案吗?请参阅下面的我的答案,单击勾选图标✔ 并单击向上箭头。