Je pense que c'est ce que vous essayez d'atteindre :
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;
Sortie :
| identifiant | VALEUR | NOM |
|---|---|---|
| 1 | 10 | ligne1 |
| 4 | 5 | ligne2 |
Voir ce SQLFiddle
- Démo avec plus de valeurs
- Démo avec valeurs en double
- Démo avec suppression des valeurs en double (en utilisant
DISTINCT)
Ici, j'ai auto-joint la table avec minVal et Name.