Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
15-1257433390
test
2009-11-05 18:03
2010.01.10
Lazarus + Excel


15-1257541254
Игорь Шевченко
2009-11-07 00:00
2010.01.10
Дмитрий Заварзин aka Думкин, с днем рождения!


2-1258553100
Сергей
2009-11-18 17:05
2010.01.10
Возможно ли запустить метод класса при создании класса?


15-1256848369
xayam
2009-10-29 23:32
2010.01.10
Посоветуйте CMS для ведения блога


6-1211445506
laao
2008-05-22 12:38
2010.01.10
вопросы по организации OpenSSL для Indy HTTP-сервера





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский