Rolf b: mysql: Query gesucht

Beitrag lesen

Was ich heute Mittag dazu gefunden habe, ist:

GROUP BY Handling in MYSQL

Achte drauf, ob deine MYSQL Version dazu passt.

Die Steuerung erfolgt demnach über die Variable sql_mode, und wenn meine Experimente mich nicht getrogen haben, darf man die nicht einfach setzen, sondern muss mit Stringverkettung arbeiten um die übrigen Schalter nicht zu überschreiben.

SET SESSION sql_mode = CONCAT(@@SESSION.sql_mode, ",ONLY_FULL_GROUP_BY")

Ich weiß nicht, ob ich die Nummer mit dem SQL_MODE richtig verstanden habe. Das ist eine Liste von kommaseparierten Werten, man kann den sql_mode für die SESSION oder GLOBAL setzen (letzteres sollte man eher lassen bzw. in der MYSQL Config machen, nicht per SQL Statement), und wenn man erstmal was gesetzt hat, kriegt man es nur pre String-Parsing wieder raus (oder man merkt sich den alten Wert und stellt ihn wieder her). Klingt für mich erstmal nach gruseligem API Design.

Vielleicht weiß @dedlfix besser, wie man damit umgeht...

Rolf