Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So fragen Sie eine SQL-Tabelle ab und entfernen doppelte Zeilen aus einer Ergebnismenge

Wenn die Zeilen in jeder Spalte wirklich verschieden sind, können Sie SELECT DISTINCT verwenden .

Da Sie SQL Server verwenden, können Sie auch row_number() verwenden um eine Zeile für jede ThreatId zurückzugeben :

select ThreatId,
  ThreatTopClient,
  ...
from
(
  select ThreatId,
    ThreatTopClient,
    ...,
    row_number() over(partition by ThreatId order by ThreatMLSeq) rn
  from xThreatCA
  where ThreatMLSeq <> N'' 
    and ID <> 0
) d
where rn = 1
order by ThreatMLSeq