Ну, если у вас есть целые строки в виде дубликатов в вашей таблице, у вас, по крайней мере, не настроен первичный ключ для этой таблицы, иначе, по крайней мере, значение первичного ключа было бы другим.
Однако вот как создать 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 считаются дубликатами. Разверните список столбцов, чтобы он содержал все столбцы, для которых вы хотите это проанализировать.
person
Lasse V. Karlsen
schedule
03.08.2009