我无法从我的计数中排除数字一和二...我使用了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();

关于mysql - 如何使用Laravel查询生成器从计数中排除数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59829784/

10-13 05:25