如何使用 Laravel 查询生成器从计数中排除数字?



我不能从我的计数中排除数字 1 和 2...我用过whereNotIn但没有用,为什么?

$data = DB::table('incidencias')
->select(DB::raw('empresa as empresa'), DB::raw('count(*) as number'))
->whereNotIn('empresa', ['', 1, 2])
->orderBy('number', 'desc')
->groupBy('empresa')
->get();

因为您要排除的是empresa的计数结果,而不是empresa

使用如下havingRaw()

$data = DB::table('incidencias')
->select(DB::raw('empresa as empresa'), DB::raw('count(*) as number'))
->where('empresa', '!=', '')
->groupBy('empresa')
->havingRaw('number NOT IN (1,2)')
->orderBy('number', 'desc')
->get();

最新更新