我已经升级了系统,并为正在处理的Web应用程序安装了带有PHP的MySql 5.7.9。我有一个动态创建的查询,当在旧版本的MySql中运行时,它运行良好。自升级到5.7以来,出现此错误: 这是给我错误的代码:
select *,SUM(payment) as payment,DATE_FORMAT(payment_date,'%b') as month
from payment
natural join branch
where YEAR(payment_date)='$year' and MONTH(payment_date)='$month'
group by branch_id,MONTH(payment_date)
order by MONTH(payment_date)
我对此问题进行了一些谷歌搜索,但是我对only_full_group_by的理解不够,无法弄清楚我需要做什么来解决该查询。我可以仅关闭only_full_group_by选项,还是需要做其他事情?
让我知道是否需要更多信息。
答案 0 :(得分:0)
您需要将选择列表的所有列分组放置
select branch_id,MONTH(payment_date),SUM(payment) as payment,DATE_FORMAT(payment_date,'%b') as month
from payment
natural join branch
where YEAR(payment_date)='$year' and MONTH(payment_date)='$month'
group by branch_id,MONTH(payment_date),DATE_FORMAT(payment_date,'%b')
order by MONTH(payment_date)