MySQL, нельзя использовать group by в простом запросе

0

у меня есть этот простой запрос

select *, FIRST(m.id), MAX(mj.meeting_day) from Member m
left join SaveWork as s on s.member_id = m.id
left join Points as mp on mp.id = s.point_id
left join Aggr as mj on mj.id = mp.aggr_id
where m.congregation_id = 2
GROUP BY m.id

но когда я пытаюсь выполнить это, я получаю

#1064 - Something is wrong in your syntax near '(m.id) from Member m
left join SaveWork as s on s.member_id = m.id
left join M' in line 1

и я не знаю, почему это происходит, я думаю, что это связано с этим Expression #24 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sprawy.s.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by Expression #24 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sprawy.s.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by, и я подумал, что когда я использую функцию FIRST это решит мои проблемы, но этого не произошло, любая помощь приветствуется

  • 1
    Вы не можете select * в своем запросе при использовании GROUP BY если не перечислите все эти столбцы, затронутые в GROUP BY
  • 1
    Можете ли вы показать мне страницу, которая обсуждает FIRST () в руководстве MySQL?
Теги:

1 ответ

0

Вы можете попробовать ниже - функция first() недоступна в mysql

select m.id, MAX(mj.meeting_day) from Member m
left join SaveWork as s on s.member_id = m.id
left join Points as mp on mp.id = s.point_id
left join Aggr as mj on mj.id = mp.aggr_id
where m.congregation_id = 2
GROUP BY m.id
limit 1
  • 0
    LIMIT без GROUP BY имеет смысла.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню