Как исправить проблему mysql с этим, несовместимо с sql_mode =only_full_group_by

#php #mysql #laravel

#php #mysql #laravel

Вопрос:

Номер ошибки: 1055

Выражение # 1 списка ВЫБОРА отсутствует в предложении GROUP BY и содержит неагрегированный столбец ‘db_name.tbl_gigs.id ‘ который функционально не зависит от столбцов в предложении GROUP BY; это несовместимо с sql_mode=only_full_group_by

 SELECT SQL_CALC_FOUND_ROWS 
    tbl_gigs.*, 
    tbl_users.first_name, tbl_users.service_name, tbl_users.last_name, tbl_users.image, 
    tbl_event_type.name_french as name, tbl_event_type.name_french, tbl_event.approval_status as event_appstatus, tbl_event.event_no 
FROM (`tbl_gigs`) 
LEFT JOIN `tbl_event_type` ON `tbl_event_type`.`id` = `tbl_gigs`.`event_type` 
LEFT JOIN `tbl_users` ON `tbl_users`.`id` = `tbl_gigs`.`invites` 
LEFT JOIN `tbl_event` ON `tbl_event`.`id` = `tbl_gigs`.`event_id` 
WHERE `tbl_gigs`.`status` = '1' AND tbl_gigs.user_id = '261' AND tbl_gigs.event_id != '0' 
GROUP BY `tbl_gigs`.`event_id` 
ORDER BY `tbl_gigs`.`id` desc 
LIMIT 10
  

Комментарии:

1. Вы неправильно используете group by, которая предназначена для работы с агрегатными функциями (которых у вас нет) — Вам было бы лучше объяснить, что вы пытаетесь сделать, предоставляя образцы данных и ожидаемый результат в виде текста.

Ответ №1:

У меня уже есть запрос пользователя ниже

 SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''))