Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
15.02.2021, 12:30
|
|||
---|---|---|---|
|
|||
Удаление дубликатов |
|||
#18+
Имеется следующая таблица: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
В таблице начали появляться дубликаты из-за некорректного PRIMARY KEY. Хочу убрать account_id (потому что для аккаунтов могут быть одинаковые view_id, и статистика загружается дважды под разными id, хотя в этом нет никакого смысла) из PK, но для этого сначала необходимо удалить уже имеющиеся дубликаты. Дубликаты искал следующим запросом: Код: sql 1. 2. 3. 4.
Собственно, мне необходимо удалить не все эти записи, а сделать так, чтобы у этих записей остался один экземпляр, при этом неважно, к какому account_id они будут привязаны. Скрипт на удаление будет выглядеть примерно так? Код: sql 1. 2. 3. 4. 5. 6. 7.
Т.е. я должен весь primary key положить в условие where, а условие t1.account_id < t2.account_id нужно для того, чтобы как раз остался один набор? Я просто боюсь удалить лишнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.02.2021, 15:30
|
|||
---|---|---|---|
|
|||
Удаление дубликатов |
|||
#18+
Wasteland Rebel, напишите селект - полный аналог делита и посмотрите что вернет ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.02.2021, 13:09
|
|||
---|---|---|---|
|
|||
Удаление дубликатов |
|||
#18+
delete from analytics.google_analytic_report where ctid not in ( select min(ctid) from analytics.google_analytic_report group by account_view_id, report_date, utm_marks, metric_name ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&mobile=1&tid=1994189]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
140ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 288ms |
total: | 512ms |
0 / 0 |