Форум: "Базы";
Текущий архив: 2010.01.10;
Скачать: [xml.tar.bz2];
Внизкак выбрать все дубликаты талицы SQL запросом Найти похожие ветки
← →
Роман (2009-01-29 10:52) [0]как выбрать все дубликаты талицы SQL запросом ?
что б не число дубликатов а дубликаты все выходили !
пример
НЕ
ИВАНОВ ИВАН ИВАНОВИЧ 2
а так
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
Сделать
← →
Ega23 © (2009-01-29 11:04) [1]
select aName, Count(aName) as Count
from Table
group by aName
having count(aName)>1
← →
Johnmen © (2009-01-29 11:05) [2]
SELECT T1.F, T1.I, T1.O FROM Table T1
GROUP BY T1.F, T1.I, T1.O
HAVING COUNT(*)>1
← →
Anatoly Podgoretsky © (2009-01-29 11:32) [3]> Ega23 (29.01.2009 11:04:01) [1]
Это не даст результата, тут надо громоздить с вложеными запросами.
Ему надо не по одной строчке, как в группирование, а все, но только в том случае если дубли.
Видимо плохо спроектирована таблица, и теперь он пытается удалить лишнее.
← →
Johnmen © (2009-01-29 11:34) [4]
> Anatoly Podgoretsky © (29.01.09 11:32) [3]
> Ему надо не по одной строчке, как в группирование, а все, но только в том случае если дубли.
Нам он этого не говорил :)
← →
Ega23 © (2009-01-29 11:35) [5]
> Ему надо не по одной строчке, как в группирование, а все,
> но только в том случае если дубли.
Снимаю шляпу перед твоим телепатором.
← →
Кщд (2009-01-29 11:39) [6]>Johnmen © (29.01.09 11:34) [4]
он это ясно сказал: "что б не число дубликатов а дубликаты все выходили !"
да ещё и с примером)
← →
Johnmen © (2009-01-29 11:48) [7]
> Кщд (29.01.09 11:39) [6]
Что именно он сказал ясно? Дубликаты чего?
← →
Anatoly Podgoretsky © (2009-01-29 12:07) [8]> Ega23 (29.01.2009 11:35:05) [5]
Он привел два примера, то чего он не хочет и наоборот.
← →
Роман (2009-01-29 12:14) [9]ЕСть таблица допустим 1.dbf
мне нужены к ней запросы по выявлению двойных записей и еще кое что
Вот пробую по разному и ищу тоже везде только одна строка выходит
допустим ИВАНОВ ИВАН ИВАНОВИЧ и количтво например 5
а мне на до чтобы выхолило
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
ИВАНОВ ИВАН ИВАНОВИЧ
← →
Sergey13 © (2009-01-29 12:20) [10]> [9] Роман (29.01.09 12:14)
Я внесу свою лепту телепатирования.
Подозреваю, что в таблице есть и другие поля, которые НЕ повторяются. Если они тебе нужны и ты их просто не написал в примере, то приведенные запросы не сработают или сработают неправильно. Если других полей нет, то в топку такую таблицу.
← →
Кщд (2009-01-29 12:26) [11]>Johnmen © (29.01.09 11:48) [7]
>Что именно он сказал ясно? Дубликаты чего?
дубликаты ФИО (одно это поле или несколько здесь не суть)
и его пример ясно показал, что group by его не устраивает
однако, и ответ (1), и ответ (2) его содержат
и после этого автора обвинили в том, что он "прячет и утаивает")
не первый раз замечаю такое поведение здесь от уважаемых мной людей(в частности, Вас)
прошу прощения, что вырвалось)
впрочем, это оффтоп - молчу-молчу)
← →
Роман (2009-01-29 12:51) [12]:)))
← →
Ega23 © (2009-01-29 13:02) [13]
> мне нужены к ней запросы по выявлению двойных записей
В [1] и [2] тебе ответили.
Если тебя это чем-то не устраивает, то у тебя уже есть начальный инструментарий для дальнейшего наращивания запроса. НапримерSelect * from Table
where FIO in (см. запрос [2])
И потом, как ты будешь решать, кто из них реальная запись, а кто - дубликат (правда это уже твои проблемы).
> дубликаты ФИО (одно это поле или несколько здесь не суть)
Суть, и очень существенная. Потому что неизвестно, что есть первичный ключ. Потому как если PK не вот это вот самое ФИО, то тогда это никакие не дубликаты а вполне себе самостоятельные сущности.
> и его пример ясно показал, что group by его не устраивает
Ясно только одно, что он чуть-чуть подумать не хочет.
← →
Роман (2009-01-29 13:14) [14]>>> В [1] и [2] тебе ответили.
Эти ответы я еще 2 дня назад
мне нужно что бы выполнял другие задачи Если б знал то у МАСТЕРОВ БЫ НЕ СПРАШИВАЛ
← →
Ega23 © (2009-01-29 13:23) [15]
> мне нужно что бы выполнял другие задачи Если б знал то
> у МАСТЕРОВ БЫ НЕ СПРАШИВАЛ
Ну ты в своём праве...
← →
Sergey13 © (2009-01-29 13:30) [16]> [14] Роман (29.01.09 13:14)
Ну так другие то поля в таблице есть? Они то же повторяются?
← →
Кщд (2009-01-29 13:42) [17]>Ega23 © (29.01.09 13:02) [13]
>Суть, и очень существенная. Потому что неизвестно, что есть первичный >ключ. Потому как если PK не вот это вот самое ФИО, то тогда это никакие не >дубликаты а вполне себе самостоятельные сущности.
простите, а какая, собственно, разница "самостоятельная" эта сущность, али нет, если мне необходимо получить дубликаты по полю(или кортежу)? :)
>Роман (29.01.09 13:14) [14]
структуру таблицы-то обнажите?
← →
Роман (2009-01-29 13:44) [18]Повторяться поля F I O god
Остальные не повторяются rt ft ko se rf guyu fft sss
← →
Кщд (2009-01-29 14:02) [19]>Роман (29.01.09 13:44) [18]
см. Ega23 © (29.01.09 13:02) [13]
← →
Кщд (2009-01-29 14:04) [20]>Ega23 © (29.01.09 13:02) [13]
>Ясно только одно, что он чуть-чуть подумать не хочет.
человек просто не знает SQL
← →
Ega23 © (2009-01-29 14:05) [21]
> простите, а какая, собственно, разница "самостоятельная"
> эта сущность, али нет, если мне необходимо получить дубликаты
> по полю(или кортежу)? :)
Есть разница. Какая из этих сущностей "главнее"? Какую будем оставлять, а какую - выкидывать?
← →
Ega23 © (2009-01-29 14:06) [22]
> человек просто не знает SQL
Судя по тому, что он пишет что знает проgroup by having count>1
....
← →
AndreyV © (2009-01-29 14:19) [23]> [21] Ega23 © (29.01.09 14:05)
> Есть разница. Какая из этих сущностей "главнее"? Какую будем
> оставлять, а какую - выкидывать?
Может автор не хочет выкидывать, а делает проверку на предмет визуального контроля ошибок ввода: тёзка или оператор накосячил.
← →
Johnmen © (2009-01-29 14:24) [24]
> Кщд (29.01.09 12:26) [11]
Мне очень странно твоё возмущение на ровном месте. Ибо автор к моменту поста [6] НИКАКОЙ ясности про дубликаты НЕ ОБОЗНАЧИЛ, как и НЕ ОБОЗНАЧИЛ того, что есть "его пример", и то, что "group by его не устраивает"...
← →
Кщд (2009-01-29 14:25) [25]>Ega23 © (29.01.09 14:05) [21]
>Какую будем оставлять, а какую - выкидывать?
удаление дубликатов - совсем другой коленкор)
но, как-будто, автор хотел посмотреть, а не удалить...
← →
Ega23 © (2009-01-29 14:27) [26]
> Может автор не хочет выкидывать, а делает проверку на предмет
> визуального контроля ошибок ввода: тёзка или оператор накосячил.
А как ты это определишь, не зная больше ничего про эту таблицу.
З.Ы. Было дело, делал "Бюро пропусков". В базе было ~ 15000 народу. Повторений по ФИО было ну не то чтобы дофига, но были.
Но люди-то - разные!
← →
Роман (2009-01-29 14:28) [27]Абсолютно нет ризницы какие поля если Вы приведете пример с вымышленными полями я и на этом буду благодарен
Мой код SQL такой
select <поле>,count(*) from table group by <поле> having count(*) > 1
Для меня он не подходит так как выводит одно повторяющеюся строку и сумму сколько их ,
мне нужно чтоб сколько были столько и выходили
SQL изучаю но еще плохо знаю
← →
AndreyV © (2009-01-29 14:29) [28]> [23] AndreyV © (29.01.09 14:19)
Впрочем, какая-то уникальность записи должна быть, иначе действительно в топку такую таблицу.
← →
AndreyV © (2009-01-29 14:30) [29]> [26] Ega23 © (29.01.09 14:27)
> А как ты это определишь, не зная больше ничего про эту таблицу.
> Но люди-то - разные!
Уже ответил.
← →
Виталий Панасенко (2009-01-29 14:33) [30]select <поле> from table where <поле> in (
select <поле> from table group by <поле> having count(*) > 1)
← →
Роман (2009-01-29 14:45) [31]Спасибо всем буду пробовать
← →
Кщд (2009-01-29 14:49) [32]>AndreyV © (29.01.09 14:29) [28]
>Впрочем, какая-то уникальность записи должна быть, иначе >действительно в топку такую таблицу.
да-да
для поиска дубликатов в табличке без UK и/или PK необходимо её(табличку, то бишь) вначале дропнуть - распространенная практика)
← →
Anatoly Podgoretsky © (2009-01-29 15:50) [33]Как обычно вместо объяснения задачи, для чего это нужно, автор обсуждает свое преставление ее решения.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2010.01.10;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.005 c