dedlfix: mySQL: Satz mit dem minimalen Wert

Beitrag lesen

Tach!

Gibt der MIN-Wert auch die zugehörigen anderen Werte mit? Ich meine, das wäre nur zufällig/häufig, aber nicht verlässlich so.

Wenn es Datensätze mit den Werten 1, 1, 2 und 3 gibt, dann gibt MIN() natürlich den Wert 1 zurück. Wenn du nun neben einer solchen Aggregatfunktion noch weitere Felder ins SELECT schreibst, die nicht in der GROUP-BY-Bedingung auftauchen, dann sehen das einige DBMS als Fehler an. MySQL/MariaDB in der Default-Einstellung lassen das zwar durch, aber aus welchem der beiden Datensätze die Werte kommen, ist nicht definiert.

Man kann solch ein Statement nur dann gefahrlos verwenden, wenn die Daten redundant sind, also egal welchen Datensatz man nimmt, dieselben Werte geliefert werden.

Ansonsten kannst du nur im ersten Schritt den MIN-Wert ermitteln und in einem zweiten Schritt alle Datensätze mit diesem Wert abfragen. Wenn du nun aber nur einen davon haben möchtest, musst du mit deinem Anwendungsfall klären, wie da zu verfahren ist.

dedlfix.