Дубликаты в таблице

MapInfo, MapBasic
Ответить
Grace2
Участник
Сообщения: 63
Зарегистрирован: 18 янв 2011, 07:28
Репутация: 0
Откуда: г.Пермь
Контактная информация:

Дубликаты в таблице

Сообщение Grace2 » 01 июл 2013, 07:41

Подскажите, SQL запрос, для поиска дубликатов (повторяющихся) записей в таблице?

juffin_h
Завсегдатай
Сообщения: 265
Зарегистрирован: 22 окт 2012, 08:35
Репутация: 49
Откуда: Нижний Новгород

Re: Дубликаты в таблице

Сообщение juffin_h » 02 июл 2013, 12:24

Думается мне, что одним запросом не обойдешься. Можно через один Update и пару Select. Итого 3. К тому же, в исходной таблице надо создать вспомогательную колонку.

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

Re: Дубликаты в таблице

Сообщение rhot » 02 июл 2013, 13:04

Код: Выделить всё

SELECT DISTINCT id, count(*) FROM table GROUP BY 1 HAVING count(*)>1 ORDER BY 2 DESC; 
Но это только для PostgreSQL.
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

sysrepos
Активный участник
Сообщения: 128
Зарегистрирован: 07 окт 2012, 16:25
Репутация: 20
Откуда: Москва

Re: Дубликаты в таблице

Сообщение sysrepos » 02 июл 2013, 14:09

запросы можно писать в самом окне мапбэйсика, будут выделены все повторяющиеся объекты

select kol, count(*) from tab group by kol into q1
select * from q1 where col2>1 into q2
select * from tab where kol in (select kol from q2)

kol - колонка в таблице tab

во вложении программа, которая выделяет дубликаты:
программа работает следующим образом - если есть повторяющиеся значения, программа выделит их все, кроме одного, чтобы можно было удалить дубликаты, но остался один недублирующийся объект

qqq
qqq
qqq

www
www
www
www

e
r
t
Вложения
удаление дубликатов в таблице.rar
(2.04 КБ) 591 скачивание

sysrepos
Активный участник
Сообщения: 128
Зарегистрирован: 07 окт 2012, 16:25
Репутация: 20
Откуда: Москва

Re: Дубликаты в таблице

Сообщение sysrepos » 01 июл 2014, 17:16

переписал утилиту
(самому понадобилась такая утилита, и понял: то, что написал ранее - не самый рабочий вариант)
Вложения
удаление дубликатов в таблице.7z
(5.4 КБ) 912 скачиваний

Ответить

Вернуться в «MapInfo»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя