sql >> Base de Datos >  >> RDS >> Sqlserver

Consulta simple para obtener el valor máximo para cada ID

¿Algo como esto? Una su tabla consigo misma y excluya las filas para las que se encontró una señal más alta.

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
)

Esto enumeraría una fila para cada señal más alta, por lo que podría haber varias filas por ID.