mySQL: Satz mit dem minimalen Wert
bearbeitet von TabellenkalkHallo Linuchs,
diesen Umstand, dass MYSQL den ersten Satz nimmt den es antrifft, kann man aber auch ausnutzen:
~~~sql
SELECT *
FROM (SELECT key, value, col1, col2, col3)
FROM sometable
ORDER BY key, value) xyz
GROUP BY key
~~~
Der ORDER BY sorgt dafür, dass der Satz mit MIN(value) dem GROUP BY als erstes zum Fraße vorgeworfen wird. Für die übrigen Spalten wählt MYSQL die Werte des ersten Satzes, und - ta dah - der gewünschte Effekt ist erreicht.
ABER ABER ABER: Das ist das Ausnutzen eines beobachteten Verhaltens, dass die Doku als "undefiniert" beschreibt. Es gibt keine Garantie, dass dieses Verhalten so bleiben wird. Mein Self-Join, den ich vorhin beschrieben habe, basiert auf definiertem Verhalten.
_Rolf_
--
sumpsi - posui - clusi