Hallo Konny,
zusammen mit dem schon erwähnten ORDER BY dürfte das die kompakteste Lösung sein.
Mal angenommen, deine Sortierspalte wäre id
und eindeutig, und du möchtest die Werte für die höchste ID haben. Dann könnte man sowas tun:
SELECT sp1, sp2
FROM table
WHERE id IN (SELECT MAX(id) FROM table GROUP BY JaNeinSpalte)
Aber ob das lesbarer, verständlicher oder performanter ist? Letzteres kann man testen, den Rest muss jeder selbst beurteilen. Wenn Du keine id hast, sondern ein Datum, und es zum höchsten Datum mehrere Einträge geben kann, dann müsste ich nochmal nachdenken ob man das ohne UNION und LIMIT hinbekommt. Vor allem stellt sich dann die Frage, welchen von den mehreren man will...
Wenn der GROUP BY nicht auf eine Spalte mit 2 Werten ginge, sondern auf 20 Werte - oder schlimmer noch, auf eine variable Zahl von Werten -, dann ist mein Vorschlag wohl die einzige Möglichkeit. Aber wenn es genau 2 sind, ist deine Variante vermutlich am lesbarsten.
Rolf
sumpsi - posui - clusi