Penso che questo sia ciò che stai cercando di ottenere:
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;
Uscita:
| ID | VALORE | NOME |
|---|---|---|
| 1 | 10 | riga1 |
| 4 | 5 | riga2 |
Vedi questo SQLFiddle
- Demo con più valori
- Demo con valori duplicati
- Demo con rimozione di valori duplicati (usando
DISTINCT)
Qui mi sono autounito al tavolo con minVal e Name.