我不能从我的计数中排除数字 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();