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.