Algo assim? Junte sua tabela a ela mesma e exclua as linhas para as quais um sinal mais alto foi encontrado.
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
)
Isso listaria uma linha para cada sinal mais alto, portanto, pode haver várias linhas por id.