|
|
|
Поиск парных записей в базе (дубликаты по набору полей)
|
|||
|---|---|---|---|
|
#18+
Добрый день. Мне необходимо найти в базе все записи, которая имеет N полей с одинаковыми значениями как минимум с одной из оставшихся записей. Как частный вариант - это когда отличается значение только одного значимого поля (помимо ID и неактуальных полей). Т.е., если есть база вида: id | поле1 | поле2 | поле3 | поле4 | ------------------------------------ 1 | 111 | 22 | 333 | 44 2 | 111 | 22 | 555 | 66 3 | 222 | 33 | 645 | 77 4 | 222 | 33 | 777 | 88 5 | 333 | 44 | 555 | 99 6 | 444 | 44 | 555 | 11 7 | 222 | 33 | 111 | 22 и надо найти пары (дубликаты) по полям 1 и 2, то в выборку должны попасть строки с ID 1,2,3,4,7. Можно ли решить данную задачу без применения хранимых процедур? Возможно, независимо от ответа, есть какое-то готовое решение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2014, 12:56:14 |
|
||
|
Поиск парных записей в базе (дубликаты по набору полей)
|
|||
|---|---|---|---|
|
#18+
qshar7, group by + having count ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2014, 15:14:27 |
|
||
|
Поиск парных записей в базе (дубликаты по набору полей)
|
|||
|---|---|---|---|
|
#18+
tanglir, SELECT * FROM base as t WHERE (t.field1 = 1) AND ( (t.field2, t.field3, t.field4) IN ( SELECT t2.field2, t2.field3, t2.field4 FROM base as t2 GROUP BY t2.field2, t2.field3, t2.field4 HAVING COUNT( * ) >1 ) ); выдает ерунду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2014, 19:21:46 |
|
||
|
Поиск парных записей в базе (дубликаты по набору полей)
|
|||
|---|---|---|---|
|
#18+
вы хотитеqshar7надо найти пары (дубликаты) по полям 1 и 2, а пишетеqshar7GROUP BY t2.field2, t2.field3, t2.field4, и после этого удивляетесь, что запрос qshar7выдает ерунду.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2014, 07:36:25 |
|
||
|
Поиск парных записей в базе (дубликаты по набору полей)
|
|||
|---|---|---|---|
|
#18+
tanglir, ну сначала все-таки надо сгрупировать все записи по комбинации полей-дубликатов? Надо ведь знать, какие комбинации имеют дубликаты. И этот запроса отдельно - работает. А вот правильно сделать выборку на основании его результата - не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2014, 10:56:50 |
|
||
|
|

start [/forum/topic.php?fid=47&gotonew=1&tid=1834449]: |
0ms |
get settings: |
12ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
13ms |
get first new msg: |
8ms |
get forum data: |
4ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 241ms |
| total: | 446ms |

| 0 / 0 |
