Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.01.10;
Скачать: CL | DM;

Вниз

как выбрать все дубликаты талицы 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;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.02 c
2-1258384893
Кузьма
2009-11-16 18:21
2010.01.10
Работа с отладчиком в Дельфи


15-1257856074
oxffff
2009-11-10 15:27
2010.01.10
Уважаемый модератор. Почисти и мой последний пост в теме


1-1233071230
harisma
2009-01-27 18:47
2010.01.10
Скролл в TreeView


4-1226015472
Eraser
2008-11-07 02:51
2010.01.10
Проверка подлинности сервера


6-1211138264
Тимохов
2008-05-18 23:17
2010.01.10
Keep-Alive в HTTP - как она работает?