Ich denke, das ist es, was Sie erreichen wollen:
SELECT t.* FROM test t
JOIN
( SELECT Name, MIN(Value) minVal
FROM test GROUP BY Name
) t2
ON t.Value = t2.minVal AND t.Name = t2.Name;
Ausgabe:
ID | WERT | NAME |
---|---|---|
1 | 10 | Zeile1 |
4 | 5 | Zeile2 |
Siehe dieses SQLFiddle
- Demo mit mehr Werten
- Demo mit doppelten Werten
- Demo mit Entfernung doppelter Werte (unter Verwendung von
DISTINCT
)
Hier habe ich die Tabelle mit minVal und Name selbst verknüpft.