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

Gibt die ID der Zeile zurück, die doppelte Daten enthält

Verwenden Sie eine Fensterfunktion:

select t1.*
from (select t1.*, count(*) over (partition by name) as cnt
      from table1 t1
     ) t1
where cnt > 1;

Der count(*) over (partition by name) zählt die Anzahl der Zeilen für jeden Namen. Dies geschieht jedoch durch Anhängen der Anzahl an jeder Zeile, nicht durch Verringern der Anzahl der Zeilen. Das sind die Informationen, die Sie zum Auswählen der Zeilen benötigen.