Отвечено на SQL Server
- Это не будет работать в MySQL
. Укажите, какие, а не покровительствуют людям, которые могут вам помочь.
Чтобы получить количество дубликатов:
SELECT id, name, COUNT(*) FROM productCompany GROUP BY id, name
Чтобы применить первичный ключ, сначала удалите дубликаты следующим образом:
WITH sorted AS
(
SELECT
ROW_NUMBER() OVER (PARTITION BY id, name) AS duplicate_id,
id,
name
FROM
productCompany
)
DELETE
sorted
WHERE
duplicate_id > 1
Затем используйте Management Studio для применения вашего первичного ключа.