sql >> Databasteknik >  >> RDS >> Mysql

A.* finns inte i GROUP BY med vänster koppling på laravel-frågebyggaren

För att åtgärda det här problemet måste du ange obligatoriska kolumner i urvalslistan och gruppera efter klausul

$search_alls=DB::table('a16s as A')
                ->select('A.id','A.name')
                ->addSelect(DB::raw('SUM(CASE WHEN B.approve = 1 ELSE 0 END) as Yshow'))
                ->leftjoin('a16s_likes as B', function($join) {
                    $join->on('A.id', '=', 'B.p_id');
                })
                ->groupBy('A.id')
                ->groupBy('A.name');
    ->get();

12.19.3 MySQL-hantering av GROUP BY

Enligt dokument



  1. Ta bort förälder om den inte hänvisas till av något annat barn

  2. SQL Pivot med flera kolumner

  3. Optimerar mitt mysql-uttalande! - RAND() FÖR LÅNGSAMT

  4. Varför kan PL/pgSQL-funktioner ha bieffekter, medan SQL-funktioner inte kan?