Selectionner le ou les minimums

Bonjour,

Je bloque sur le sujet suivant.

J'ai un tableau avec plusieurs colonnes et plusieurs lignes.

J'ai actuellement une requette qui selectionne le minimum en utilisant select TOP 1 group by....
Ca fonctionne bien sauf que j'ai lorsque j'ai deux lignes ayant la meme valeur minimum pour un champs précis, je n'arrive pas à savoir comment faire remonter les deux .
J'ai essayé d'utiliser la fonction SELECT MIN() mais je n'y arrive pas...

Je vous donne ici un exemple:

SELECT TOP 1 role

FROM
(
SELECT L.contact, L.Nom

FROM t_liste L

INNER JOIN Pays P ON P.adresse_id = L.adresse_id

INNER JOIN (etc................)
INNER JOIN (etc.................)

WHERE L.contact IS NOT NULL
AND L.Salaire > seuil

ORDER BY ....... DESC, .......... ASC

du coup si j ai en premier plusieurs lignes qui apparaissent avec un salaire superieur au seuil,
je dois selectionner les plus petites (pour cela j ai utilisé le select top en ayant mis un Order by).
Mais le probleme est que je ne remonte qu une seule ligne, mais il faudrait 2 si deux salaires égaux au deussus du plancher, ou 3 etc...

Merci pour votre aide

1 réponse

  1. Contributeur Ambassadeur
    bonjour, moi je ferais ainsi:
    SELECT salaires.*
    FROM salaires , (select min(salaire) as mins from salaires)  
    WHERE salaire=mins;
    1