Myślę, że to właśnie próbujesz osiągnąć:
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;
Wyjście:
| ID | VALUE | NAZWA |
|---|---|---|
| 1 | 10 | wiersz1 |
| 4 | 5 | wiersz2 |
Zobacz ten SQLFiddle
- Demo z większą liczbą wartości
- Demo ze zduplikowanymi wartościami
- Demo z usuwaniem zduplikowanych wartości (za pomocą
DISTINCT)
Tutaj sam dołączyłem do tabeli za pomocą minVal i Name.