Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Requête simple pour saisir la valeur maximale pour chaque ID

Quelque chose comme ça? Joignez votre tableau à lui-même et excluez les lignes pour lesquelles un signal plus élevé a été trouvé.

select cur.id, cur.signal, cur.station, cur.ownerid
from yourtable cur
where not exists (
    select * 
    from yourtable high 
    where high.id = cur.id 
    and high.signal > cur.signal
)

Cela répertorierait une ligne pour chaque signal le plus élevé, il pourrait donc y avoir plusieurs lignes par identifiant.