|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Необходимо из таблицы Interbase выбрать и вывести все записи с одинаковым значением одного из полей. Таких значений может быть несколько...но нужны они все То есть по сути, нужны те записи, где любое значение FIELD1 встречается в таблице больше одного раза... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 15:20 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Погляди тут:\r /topic/38634 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 15:24 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Посмотрела..немного не то....Хотя вопрос аналогичный SELECT * FROM TABLE T1 WHERE (SELECT COUNT(*) FROM TABLE T2 WHERE T1.FIELD = T2.FIELD) > 1 В моем случае T2.FIELD это и есть T1.FIELD.... и мне нужны дубликаты в пределах одной таблицы.... Вот допустим, есть таблица с контингентом работников, так из нее надо выбрать всех двойников....То есть в результате выполнения запроса должно получиться следующее: Иванов Иван Иванович 1970 Иванов Иван Иванович 1965 Петрова Марфа Васильевна 1955 Петрова Марфа Васильевна 1967 Сидоров Василий Иванович 1977 Сидоров Василий Иванович 1937 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 15:33 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Попробуй так: select name, count(*) from table1 group by name having count(*) > 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 15:44 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Я делаю так: select * from sptvr a where (select count(b.id) from sptvr b where a.namtvr = b.namtvr) > 1 order by a.namtvr Таким образом выбираются записи с ОДИНАКОВЫМ значением поля NAMTVR таблицы SPTVR ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 15:52 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Сделала так: select fam from table group by fam having count (fam) > 1 Сработало...Всем спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 16:03 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Рано обрадовалась...:( Записи выводятся только по одному разу.... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 16:44 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Настаиваю на select * from table where (select count(b.id) from table b where a.fam = b.fam) > 1 order by a.fam Выбираются ВСЕ повторяющиеся записи ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 16:51 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Sorry, я чуть-чуть ошибся. Правильно так: select * from table a where (select count(b.id) from table b where a.fam = b.fam) > 1 order by a.fam ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 16:52 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Так табличка то у меня всего одна.... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 16:55 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Можно одну таблицу использовать в запросе с разными псевдонимами, что и используется. Попробуйте, потом продолжим разговор. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 17:02 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
select * from ab where abfam in (select abfam from ab group by abfam having count (abfam) > 1) and abname in(select abname from ab group by abname having count (abname) > 1) and abotch in(select abotch from ab group by abotch having count(abotch) > 1) order by abfam Вот так все работает!!)) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 17:08 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Ой! Как тяжело все это будет работать на большой базе ... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 17:09 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Если есть предложения, то выслушаю...Как сие можно оптимизировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 17:12 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
При наличии ключа по полю NAMTVR в таблице SPTVR у меня запрос select * from sptvr a where (select count(b.id) from sptvr b where a.namtvr = b.namtvr) > 1 order by a.namtvr работает доли секунды на таблице с 7100 записями ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 17:15 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Катерина! А почему не подходит вариант Timujin ? Мне кажется самый логичный. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 17:24 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
И мне ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 17:25 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Так Я его вариант и взяла :) Только под себя чуть-чуть подогнала....просто у меня три поля....которые должны полностью совпадать ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 17:26 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
select * from sptvr a where (select count(b.id) from sptvr b where a.namtvr = b.namtvr and a.xxx = b.xxx and a.yyy = b.yyy and ...) > 1 order by a.namtvr ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 17:28 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Вот кажется еще один вариант, но через ХП (очень быстрый, т.к. проходов по записям мало) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2003, 17:45 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Всем спасибо! :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2003, 16:24 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Спасибо, Timujin Воспользовалась твоим советом и написала: select * from ab where (select count(ab.abfam) from ab where ab.abfam = ab.abfam and ab.abfam = ab.abfam and ab.abname = ab.abname) > 1 order by ab.abfam Работает НАМНОГО быстрее, чем то, что предложила Я сама.... Огромное спасибо еще раз:)) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2003, 16:29 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Поторопилась обрадоваться.... Пишу так... select abfam,abname,abotch,fckey,sckey from ab where (select count(ab.abfam) from ab where ab.abfam = ab.abfam and ab.abname = ab.abname and ab.abotch = ab.abotch) > 1 order by ab.abfam, ab.abname, ab.abotch Но выбирается не совсем то, что нужно....Вернее среди выбранных полей на самом деле есть нужные мне записи, но встречаются и те, которых быть не должно.... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2003, 16:42 |
|
Выборка повторяющихся записей
|
|||
---|---|---|---|
#18+
Обратите внимание на ПСЕВДОНИМЫ таблиц в запросе. Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2003, 09:37 |
|
|
start [/forum/topic.php?fid=40&fpage=72&tid=1562669]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 153ms |
0 / 0 |