Ho riscontrato problemi nel passaggio a una versione offline del database di baseball Lahman SQL. Stavo usando un terminale incorporato in un corso EDX. Questo comando funziona benissimo sul terminale web:Codice errore: 1055 incompatibile con sql_mode = only_full_group_by
SELECT concat(m.nameFirst,concat(" ",m.nameLast)) as Player,
p.IPOuts/3 as IP,
p.W,p.L,p.H,p.BB,p.ER,p.SV,p.SO as K,
p.IPOuts+p.W*5+p.SV+p.SO-p.BB-p.L-p.H as PTS,
p.yearID as Year
FROM Pitching p
Inner Join Master m
ON p.playerID=m.playerID
WHERE p.yearID=2014 AND p.IPOuts>=50
GROUP BY m.playerID
ORDER BY PTS DESC;
che esegue SQL 5.5.46, ma quando uso la mia versione offline in esecuzione 5.7.10 ottengo il seguente codice di errore: Codice
errore : 1055. L'espressione n. 1 dell'elenco SELECT non è nella clausola GROUP BY e contiene la colonna non aggregata "stats.m.nameFirst", che è non dipende in modo funzionale dalle colonne nella clausola GROUP BY; questo è incompatibile con sql_mode = only_full_group_by
Ho letto un sacco di soluzioni ai problemi della gente, ma loro non hanno aiutato in questo caso. Non è mai successo prima, quindi penso che sia super ovvio o forse sto diventando ok al codice. Ad ogni modo, qualcuno sa come risolvere questo problema?
non hai bisogno di un 'gruppo by'.remove esso. –
Oh, hai perfettamente ragione. – Frydaddy07
Vedere http://stackoverflow.com/documentation/mysql/8245/error-1055-only-full-group-by-something-is-not-in-group-by-clause –