Tenho um sistema que usava em 2013. Estou migrando para a versão mais recente do php/MySQL.
Como é um código complexo, na época foi um amigo que fez para mim, mas infelizmente ele não esta mais aqui.
Esse é o código:
$year = $_GET["ano"]; //2013
$query_rs = "SELECT
$year AS Year,
m.month AS Month,
fr.SomaEntradaAtual AS Entry,
fd.SomaSaidaAtual AS Output,
IFNULL(fr.SomaEntradaAtual,0) - IFNULL(fd.SomaSaidaAtual,0) AS Balance
FROM (
SELECT 'Jan' AS MONTH
UNION SELECT 'Feb' AS MONTH
UNION SELECT 'Mar' AS MONTH
UNION SELECT 'Apr' AS MONTH
UNION SELECT 'May' AS MONTH
UNION SELECT 'Jun' AS MONTH
UNION SELECT 'Jul' AS MONTH
UNION SELECT 'Aug' AS MONTH
UNION SELECT 'Sep' AS MONTH
UNION SELECT 'Oct' AS MONTH
UNION SELECT 'Nov' AS MONTH
UNION SELECT 'Dec' AS MONTH
) AS m
LEFT JOIN (SELECT Month(DATA) AS rmonth, SUM(valor) AS SomaEntradaAtual,
DATA FROM financ_receita WHERE YEAR(DATA) = $year
GROUP BY MONTH(DATA)) AS fr
ON MONTH(STR_TO_DATE(CONCAT(m.month, ' $year'),'%M %Y')) = MONTH(fr.DATA)
LEFT JOIN (SELECT Month(DATA) AS dmonth, SUM(valor) AS SomaSaidaAtual,
DATA FROM financ_despesa WHERE YEAR(DATA) = $year
GROUP BY MONTH(DATA)) AS fd
ON MONTH(STR_TO_DATE(CONCAT(m.month, ' $year'),'%M %Y')) = MONTH(fd.DATA)";
O erro que estou tendo é esse:
Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘sitepara_bd.financ_despesa.data’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
EXEMPLO DA ÉPOCA: http://sqlfiddle.com/#!9/28638/17
Li em alguns lugares dizendo para desativar o only_full_group_by, mas fazendo isso não retorna nenhum valor:

Peço a ajuda de vocês.