laravel distinct查询问题,laravel子查询写法
  1. 直接调用后,count查询会和实际查询的数据对不上,count还是查询全部数据,而实际的列表是去重的。
    在这里插入图片描述

在这里插入图片描述

  1. 给distinct加上参数,比如去重的值的id,就加id。

在这里插入图片描述

在这里插入图片描述

另一种写法是使用group by id + 子查询。

sql语句:

select count(id) from (select xx from tableName
) s

laravel子查询写法:

$model1 = new XXX();
$model1 = $model1->select()->groupBy('id');
$count = $model2->from(DB::raw("({$model1->toSql()}) t")->count();