|
|
|
Поиск идентичных записей.
|
|||
|---|---|---|---|
|
#18+
Ситуация: имеется таблица следующего вида: id, a, b,c, value соответственнов в ID уникальные значения, а в value искомое значение. Поля a,b,c целочисленные и служат для связей с другими таблицами. В таблице имеется большое количество записей, однако некоторые из них дублированы в полях b,c,value. Соответственно задача: как найти эти повторяющиеся записи, а точнее поля a этих записей. На вскидку два варианта: 1) построчный перебор (представить страшно, сколько времени уйдет на это - более 80 000 записей) 2) поиск с использованием группировок. Более реально, но тоже IMHO отнюдь не оптимально. Да и не могу я как-то в голове представить, как будет запрос выглядеть :( Кто что подскажет по этой теме? Очень надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2002, 21:25:42 |
|
||
|
Поиск идентичных записей.
|
|||
|---|---|---|---|
|
#18+
Мне представляется совсем простая штука: если нужны только разные a select distinct t1.a, t1.b, t1.c, t1.value from tab t1, tab t2 where t1.b=t2.b and t1.c=t2.c and t1.value=t2.value and t1.id<t2.id если все select t1.a, t1.b, t1.c, t1.value from tab t1, tab t2 where t1.b=t2.b and t1.c=t2.c and t1.value=t2.value and t1.id<t2.id не проверял 80000 не слишком уж много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2002, 22:07:04 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3409&tid=1820100]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
17ms |
get tp. blocked users: |
1ms |
| others: | 191ms |
| total: | 269ms |

| 0 / 0 |
