można spróbować następujących zapytań
select count(<potential_column>),count(distinct <potential column>) from <table>
Gdy liczy się dopasować, trzeba klucza kandydującego do rozpatrzenia.
Na przykład, gdybym miał stolik osób o nazwie LUDZIE, mógłbym zrobić coś takiego.
select 'FullName' as FldName, count(fullname) as Tot,count(distinct fullName) as TotD
from People
union
select 'SSN' as FldName, count(SSN) as Tot,count(distinct SSN) as TotD
from People
Spowoduje to wyświetlenie dwóch wierszy z nazwą pola i liczbą. Każdy wiersz, w którym tot pasuje do totd byłby kandydatem, chociaż w tym przykładzie polegałbym na numerze SSN (numer ubezpieczenia społecznego) na podstawie wiedzy o danych.
można uruchomić tę samą kwerendę przy użyciu pól połączone, takich jak
select 'First/Last' as FldName, count(Firstname+lastName) as Tot,
count(distinct firstname+LastName) as TotD
from People
jeśli szukasz kluczy złożonych, choć stara się zdecydować, które pola do łączenia wymaga lepszego zrozumienia swoich danych
Czy chodzi ci o wybór kolumny, która będzie używana jako klucz podstawowy? Jeśli tak, musisz znaleźć kolumnę, która jest unikalna. – Sparky
Przez "zidentyfikować klucz podstawowy" zakładam, że masz na myśli identyfikację unikalnej kolumny, która będzie używana jako klucz podstawowy? – AeroX
? Znajdź kolumnę lub zestaw kolumn tak, że 'SELECT COUNT (*) ...' jest tym samym, co 'SELECT COUNT (DISTINCT candidatekey (s)) FROM' ... jednak zajmie kilka skanów tabeli? – StuartLC