Php 我想从一个表中得到几列内容的总数

Php 我想从一个表中得到几列内容的总数,php,mysql,laravel,Php,Mysql,Laravel,下面是我的代码,但它有错误 下面是错误 完整性约束冲突:group语句中的1052列“id”不明确(SQL:select sum(d1+d2+d3+d4+d5)总的来说,responden,durasi。从responden内部连接durasi在responden上 下面是我的代码 $durasi = DB::table('responden') ->join('durasi', 'responden.id', '=', 'durasi.responden_

下面是我的代码,但它有错误 下面是错误 完整性约束冲突:group语句中的1052列“id”不明确(SQL:select sum(d1+d2+d3+d4+d5)总的来说,
responden
durasi
。从
responden
内部连接
durasi
responden

下面是我的代码

$durasi = DB::table('responden')
                ->join('durasi', 'responden.id', '=', 'durasi.responden_id')
                ->select(DB::raw('sum(d1 + d2 + d3 + d4 + d5) as total'), 'responden.*', 'durasi.*')
                ->groupBy('id')
                ->get();

        return view('hasil', compact('durasi'));

我希望有人能帮我解决这个问题。感谢您在按
groupBy('id')
分组时的查询,
id
需要表别名。它应该是
responden.id

当多个表共享一个列名时,会发生这种情况,您必须在组中的id前面提到表名,如下所示

$durasi = DB::table('responden')
            ->join('durasi', 'responden.id', '=', 'durasi.responden_id')
            ->select(DB::raw('sum(d1 + d2 + d3 + d4 + d5) as total'), 'responden.*', 'durasi.*')
            ->groupBy('responden.id')
            ->get();

    return view('hasil', compact('durasi'));

@user11974734我很高兴能为您提供帮助。如果这有助于您接受答案,我们将不胜感激,因为这将有助于提高我的声誉。这是否回答了您的问题?无论何时发现枚举的列名(例如,2),都要考虑您的模式设计是否被优化。