Доброе утро, stackoverflownians,
У меня очень большая таблица с дубликатами в двух столбцах.Означает, что если числа в строке a дублируются в столбцах col1 и col2 в строке b, я должен оставить только строку a:
## table_1
col1 col2
1 10
1 10
1 10
1 11
1 11
1 12
2 20
2 20
2 21
2 21
# should return this tbl without duplication
col1 col2
1 10
1 11
1 12
2 20
2 21
Моя предыдущая учетная запись кода только для столбца col1, и я не знаю, как сделать запросэто на два coluns:
CREATE TABLE temp LIKE db.table_1;
INSERT INTO temp SELECT * FROM table_1 WHERE 1 GROUP BY col1;
DROP TABLE table_1;
ALTER TABLE temp RENAME table_1;
Так что я подумал об этом:
CREATE TABLE temp LIKE db.table_1;
INSERT INTO temp(col1,col2)
SELECT DISTINCT col1,col2 FROM table_1;
then drop and rename..
Но я не уверен, что это сработает, и MySQL, как правило, работает нестабильно, если это занимает слишком много времени.Мне придется остановить запрос, и что мой сервер снова рухнет .. TT
У нас есть 200 000 000 строк, и все они имеют по крайней мере один дубликат ..
Любое предложение кода?:) Также .. Сколько времени это займет?минуты или часы?