sql >> Database >  >> RDS >> Sqlserver

Dubbele waarden elimineren op basis van slechts één kolom van de tabel

Dit is waar de vensterfunctie row_number() komt van pas:

SELECT s.siteName, s.siteIP, h.date
FROM sites s INNER JOIN
     (select h.*, row_number() over (partition by siteName order by date desc) as seqnum
      from history h
     ) h
    ON s.siteName = h.siteName and seqnum = 1
ORDER BY s.siteName, h.date


  1. Is de NOLOCK (Sql Server hint) een slechte gewoonte?

  2. MySQL - Operand moet 1 kolom(men) bevatten

  3. PostgreSQL onjuiste sortering

  4. Is er een manier om het rijnummer in Mysql te krijgen, zoals het rijnummer in orakel?