Prima di tutto, leggi Raggruppa per clausola in MySQL e PostgreSQL, perché l'errore in PostgreSQL?
Non è un comportamento SQL Standard.
Sembra che sul secondo server tu abbia attivato ONLY_FULL_GROUP_BY
modalità.
SELECT @@sql_mode;
Puoi simulare questo comportamento sul tuo MySQL 5.5
:
SET SESSION sql_mode = 'ONLY_FULL_GROUP_BY';
SELECT *
FROM tab
GROUP BY col;
-- tab.col2' isn't in GROUP BY
Da MySQL 5.7 :