Qualcosa come questo? Unisciti alla tua tabella con se stessa ed escludi le righe per le quali è stato trovato un segnale più alto.
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
)
Questo elencherebbe una riga per ogni segnale più alto, quindi potrebbero esserci più righe per ID.