sql >> Database teknologi >  >> RDS >> Sqlserver

Simpel forespørgsel for at få fat i maks. værdi for hvert id

Sådan noget? Slut din tabel med sig selv, og udelad de rækker, for hvilke der blev fundet et højere signal.

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
)

Dette vil angive en række for hvert højeste signal, så der kan være flere rækker pr. id.



  1. Hvad er markør i oracle

  2. Database-omlægninger – hvorfor de betyder noget

  3. Hvad er mere effektivt:Flere MySQL-tabeller eller et stort bord?

  4. Hvordan håndterer jeg åbning/lukning af Db-forbindelse i en Go-app?