SELECT list is not in GROUP BY clause and contains nonaggregated column 'web3_db4.qa.personid' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by code example

Example 1: Expression number 1 of select list is not in group by clause

mysql> set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

mysql> set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

Example 2: Expression #1 of ORDER BY contains aggregate function and applies to the result of a non-aggregated query laravel

1. set strict to false in config/databtase.php 
2. ->select([
		'exam_registrations.id',
        'exam_registrations.exam_id',
        'exam_registrations.user_id',
        DB::raw('sum(submissions.marks) as totalMarksGained')
     ])
     ->groupBy('exam_registrations.user_id')
     ->orderBy('totalMarksGained', 'DESC')

Tags:

Sql Example