SSMS
 sql >> база данни >  >> Database Tools >> SSMS

Как да накарате T-SQL кода да намери дубликати?

Е, ако имате цели редове като дубликати в таблицата си, поне не сте настроили първичен ключ за тази таблица, в противен случай поне стойността на първичния ключ би била различна.

Ето как обаче да изградите SQL, за да получите дубликати върху набор от колони:

SELECT col1, col2, col3, col4
FROM table
GROUP BY col1, col2, col3, col4
HAVING COUNT(*) > 1

Това ще намери редове, които за колони col1-col4 имат една и съща комбинация от стойности, повече от веднъж.

Например в следната таблица редове 2+3 ще бъдат дублирани:

PK    col1    col2    col3    col4    col5
1       1       2       3       4      6
2       1       3       4       7      7
3       1       3       4       7      10
4       2       3       1       4      5

Двата реда споделят общи стойности в колони col1-col4 и по този начин от този SQL се считат за дубликати. Разширете списъка с колони, за да съдържа всички колони, за които искате да анализирате това.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Достоен прост клиент на SQL Server

  2. Разделяне на стойност на едно поле на множество стойности на колони с фиксирана дължина в T-SQL

  3. Как мога да видя пълната история на SQL задачи?

  4. извличане на текст от колона и копиране в нова колона

  5. Показване на броя на редовете от SQL сървър до програма