Creo que esto es lo que estás tratando de lograr:
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;
Salida:
ID | VALOR | NOMBRE |
---|---|---|
1 | 10 | fila1 |
4 | 5 | fila2 |
Ver este SQLFiddle
- Demostración con más valores
- Demostración con valores duplicados
- Demostración con eliminación de valores duplicados (usando
DISTINCT
)
Aquí me he unido a la tabla con minVal y Name.