Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Einfache Abfrage zum Abrufen des maximalen Werts für jede ID

Etwas wie das? Verbinden Sie Ihre Tabelle mit sich selbst und schließen Sie die Zeilen aus, für die ein höheres Signal gefunden wurde.

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
)

Dies würde eine Zeile für jedes höchste Signal auflisten, also könnte es mehrere Zeilen pro ID geben.