Мисля, че това се опитвате да постигнете:
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.