MySQL,不能在简单查询中使用group by

标签 mysql

我有一个简单的查询

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 ,我想当我使用 FIRST 时函数它将解决我的问题,但这并没有发生,欢迎任何帮助

最佳答案

你可以尝试下面 - first() 函数在 mysql 中不可用,你可以使用 limit 代替

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 order by m.id
limit 1

关于MySQL,不能在简单查询中使用group by,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54474912/

相关文章:

mysql - 警告 : mysqli_connect(): (28000/1045): Access denied for

mysql - update_date NOT NULL 约束的数据库表设计最佳实践

sql - 如何一次执行 2 个更新语句?

php - 将数组值发送到 mysql 数据库表

MySQL CASE 在一个查询中设置一个额外的字段值

php - MYSQL PDO 从 fetchAll 中获取多行不工作

PHP 搜索表单没有得到结果

mysql - 如何使用 MySQL Workbench 架构差异两个数据库?

MySQL自动插入数据,计算不同列中两个日期之间的数据

c# - 使用 C# 从服务器读取数据库名称