Проверка дубликатов записей в таблице, где Id - это идентификатор - PullRequest
2 голосов
/ 02 июня 2011

В моей таблице ID - это поле первичного ключа и столбец идентификаторов.Я хочу проверить дубликаты записей.(Конечно, повторяющиеся записи не имеют одинаковый идентификатор)

И не имеют одинаковые поля даты.

Как это проверить.

Дополнительная информация: у меня 10 столбцов с1 ID, 2 Date и другие 3 строки, 3 Int, 1 бит.

Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 02 июня 2011

Вы можете использовать GROUP BY для группировки похожих записей, чтобы подсчитать их, а затем добавить предложение HAVING, чтобы отфильтровать только те, которые встречаются более одного раза:

select StringCol1, StringCol2, StringCol3, IntCol1, IntCol2, IntCol3, BitCol1, count(*) as Count
from MyTable
group by StringCol1, StringCol2, StringCol3, IntCol1, IntCol2, IntCol3, BitCol1
having count(*) > 1
1 голос
/ 02 июня 2011

Пожалуйста, используйте GROUP BY для группировки похожих записей и HAVING, чтобы указать условие для них.

select count(string1), count(string2),count(string3),count(int1), count(int2),count(int3),count(bit1)
from table1
group by string1, string2, string3, int1, int2, int3, bit1
having count(string1) > 1 and count(string2) > 1 and count(string3) > 1 and count(int1) > 1 and count(int2) > 1 and count(int3) > 1 and count(bit1) > 1
0 голосов
/ 02 июня 2011

Обобщенный подход будет следующим. надеюсь, что это поможет вам.

SELECT COL1, COL2, ..., COLn, COUNT(*) 
FROM TABLE1 
GROUP BY COL1,COL2, .., COLn 
HAVING COUNT(*) > 1
...