Мисля, че това се опитвате да постигнете:
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;
Изход:
| ID | VALUE | NAME |
|---|---|---|
| 1 | 10 | ред 1 |
| 4 | 5 | ред 2 |
Вижте този SQLFiddle
- Демо с повече стойности
- Демо с дублиращи се стойности
- Демо с премахване на дублиращи се стойности (с помощта на
DISTINCT)
Тук сам се присъединих към таблицата с minVal и Name.