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.