Vinzenz Mai: GROUP BY - nur zufällig richtig?

Beitrag lesen

Hallo Kalle,

Jetzt (2.4. 14:50) sind es 984 Veranstaltungen, und ich kann nicht erkennen, wer die neuesten eingegeben hat.
Mein Statistik-SQL, basierend auf dem MySQL-Bug, ist wohl nicht zuverlässig.

selbstverständlich nicht. So steht es im Handbuch, ich zitiere:

<zitat>
    Do not use this feature if the columns you omit from the GROUP BY part are
    not constant in the group. The server is free to return any value from the
    group, so the results are indeterminate unless all values are the same.
</zitat>

Deine Spalten weisen innerhalb der Gruppe keinen konstanten Wert auf.
Der Server darf daher jeden beliebigen Wert aus der Gruppe zurückliefern.
Nein, er wird der nicht zuverlässig den von Dir gewünschten Wert liefern.

Andere DBMS sind konsequent und weisen solche Abfragen einfach als syntaktisch falsch zurück - was nicht nur ich gut finde. So steht es in vielen Forumsbeiträgen hier. Ja, das haben auch andere einsehen müssen, hier ein Beispiel: </archiv/2006/8/t134684/#m873861>.

Wenn Du zuverlässige Ergebnisse benötigst, dann benötigst Du die von Ilja angesprochenen korrelierten Unterabfragen. Eine Optimierung könntest Du vielleicht über eine Stored Procedure in Verbindung mit Sperren hinbekommen.

Freundliche Grüße

Vinzenz