Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Връща идентификатор на ред, който има дублирани данни

Използвайте функция за прозорец:

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

count(*) over (partition by name) отчита броя на редовете за всяко име. Това обаче се прави чрез добавяне на броя към всеки ред, а не чрез намаляване на броя на редовете. Това е информацията, от която се нуждаете, за да изберете редовете.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво е STATISTICS PROFILE в SQL Server?

  2. Как да използваме клаузата Group By, когато използваме функцията Aggregate в Joins?

  3. Избягвайте NULL колони, като използвате DEFAULT Empty String

  4. Как да направите редактируема заявка за преминаване / преминаване?

  5. Как да намеря съвпадащи двойки BEGIN END в сложна заявка на SQL Server?