|
|
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
Есть таблица TABLE1(Field char(5)). Нужно удалить все дубликаты Код: plsql 1. Это не работает. Ведь в таблице нет уникального идентификатора. Как тогда придумать запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2016, 18:54 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
olga802005, Delete from t where t.rowid in (select min(rowid) from t group by [double signs]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2016, 19:46 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
Привыкайте писать test cases. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2016, 20:30 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
dmdmdm Код: plsql 1. А где мозг? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 07:53 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
Elic, Подумаешь, описАлся. Сразу "где моск?" Конечно, not in. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 09:29 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
Элик, Блин, зачем сбиваешь. In, но having count(1)>1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 09:40 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
[/quot]А где мозг?[/quot] У меня на месте. Тест кейс, говорю, пишите, все грабли сразу видны будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 09:49 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
dmdmdmТест кейс, говорю, пишите, все грабли сразу видны будут. А Apex подойдет с веб интерфейсом для тестов запросов если нет на ПК Оракла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 10:35 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
Разумеется. Более того, я подозреваю, что никакого смысла открывать APEX и закрывать стандартный доступ к ораклу нет, так что доступ у вас, скорее всего есть, и неважно, на какой Оракл машине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 10:45 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
UseRowidБлин, зачем сбиваешь. In, но having count(1)>1Запускать следует в цикле? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 12:00 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
dmdmdmУ меня на месте.Чудак, учись отвечать адресно , чтобы не выглядеть севшим в лужу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 12:01 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
dmdmdm, для таких простых тесткейсов обычно не создают табличек а делают inline views с dual. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 12:06 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
olga802005Нужно удалить все дубликаты Если у таблицы есть колонка Identity, то можно так: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2016, 19:22 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
olga802005Нужно удалить все дубликаты Тоже недавно потребовалось. Простейшим оказалось это решение (может окажется полезным): Код: plsql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 16:09 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
Foxter, Точно IN ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 16:21 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
Foxter, Трижды читать из таблицы? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 16:28 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
artas, Ну да, подзапрос сформирует список rowid (по группам схожих строк за вычетом минимального, который и будет изъят из всех rowid таблицы). А сам запрос удалит все строки с этими rowid из списка. Вроде все логично, в чем - то видите подвох? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 16:32 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
FoxterВроде все логично, в чем - то видите подвох?Возьми первый ответ в теме, заменив in на not in. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 16:34 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
AmKadFoxterВроде все логично, в чем - то видите подвох?Возьми первый ответ в теме, заменив in на not in. Да, согласен, так еще проще. Век живи, век учись ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 16:36 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
olga802005Есть таблица TABLE1(Field char(5)). Нужно удалить все дубликаты Код: plsql 1. Это не работает. Ведь в таблице нет уникального идентификатора. Как тогда придумать запрос? FAQ sql.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 16:58 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
olga802005Есть таблица TABLE1(Field char(5)). Нужно удалить все дубликаты Код: plsql 1. Это не работает. Ведь в таблице нет уникального идентификатора. Как тогда придумать запрос? Группировать по всем полям записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 17:30 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
на собеседовании часто задают такую задачку. обычно алгоритм : 1) сделать distinct по всем полям, таким оразом удалятся все дубликаты (ну подразумевается, что записи в разном регистре или там с запятыми пробелами различающимися- не дубли), 2) зафигачить результаты запроса во временную таблицу, 3) затереть исходную табличку 4) зафигачить туда данные из временной таблицы. дедупликация называется. а одним запросом - хз мне на собеседованиях наверное 4-ех один и тот же вопрос задавали еще часто про нарастающие итоги одним запросом спрашивают. Прям поголовно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 17:34 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2017, 18:02 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх решение из другого ... :) Stax.. жосткий такой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2017, 00:50 |
|
||
|
Удаление дубликатов в таблице одним запросом
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. А дальше, хоть MAX(ROWID) оставить хоть MIN(ROWID) или вообще найти зацепку другую. Удалять в зависимости от того что есть правильно - первая или последняя запись (а может "средняя" :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2017, 08:14 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39568443&tid=1884737]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 467ms |

| 0 / 0 |
