4 способа удаления повторяющихся записей в Oracle

Оглавление:

4 способа удаления повторяющихся записей в Oracle
4 способа удаления повторяющихся записей в Oracle

Видео: 4 способа удаления повторяющихся записей в Oracle

Видео: 4 способа удаления повторяющихся записей в Oracle
Видео: Как БЕСПЛАТНО получить от Microsoft программы Word, Excel, PowerPoint (и другие из пакета Office) 2024, Май
Anonim

Работая в Oracle, вы можете найти дубликаты на некоторых записях. Вы можете удалить повторяющиеся строки, определив их и используя соответствующий адрес строки псевдонима RowID. Перед началом создайте резервную копию таблицы на тот случай, если вам понадобится ссылка после удаления записи.

Шаг

Метод 1 из 4: выявление дубликатов

Удаление повторяющихся записей в Oracle Шаг 1
Удаление повторяющихся записей в Oracle Шаг 1

Шаг 1. Найдите дубликаты

В этом примере мы идентифицируем дубликат «Алан». Убедитесь, что удаляемые записи действительно дублируются, введя SQL-запрос ниже.

Удаление повторяющихся записей в Oracle, шаг 2
Удаление повторяющихся записей в Oracle, шаг 2

Шаг 2. Найдите в столбце «Имя»

Если столбец имеет заголовок «Имя», вам необходимо заменить «имя_столбца» на Имя.

Удаление повторяющихся записей в Oracle, шаг 3
Удаление повторяющихся записей в Oracle, шаг 3

Шаг 3. Найдите другие столбцы

Если вы пытаетесь идентифицировать дубликаты из разных столбцов, например, возраст Алана вместо его имени, введите «Возраст» вместо «имя_столбца» и так далее.

выберите имя_столбца, количество (имя_столбца) из группы таблиц по имени_столбца, имеющему count (имя_столбца)> 1;

Метод 2 из 4: удаление одиночных дубликатов

Удаление повторяющихся записей в Oracle Шаг 4
Удаление повторяющихся записей в Oracle Шаг 4

Шаг 1. Выберите «имя из имен»

После «SQL» (сокращение от Standard Query Language) введите «выберите имя из имен».

Удаление повторяющихся записей в Oracle Шаг 5
Удаление повторяющихся записей в Oracle Шаг 5

Шаг 2. Удалите все строки с повторяющимися именами

После «SQL» введите «удалить из имен, где name = 'Alan';.» Следует отметить, что здесь важно использовать заглавные буквы, чтобы на этом шаге можно было удалить все строки с именем «Алан». После «SQL» введите «фиксация».

Удаление повторяющихся записей в Oracle Шаг 6
Удаление повторяющихся записей в Oracle Шаг 6

Шаг 3. Повторно введите строки без дубликатов

Теперь, когда вы удалили все строки и заменили их на «Алан», заполните одну снова, введя «вставить в значения имени ('Алан');». После «SQL» введите «commit», чтобы создать новую строку.

Удаление повторяющихся записей в Oracle Шаг 7
Удаление повторяющихся записей в Oracle Шаг 7

Шаг 4. Просмотрите новый список

Выполнив описанные выше действия, вы можете проверить, нет ли больше повторяющихся записей, введя «выбрать * из имен».

SQL> выберите имя из имен; ИМЯ ------------------------------ Выбран Алан Ситра Томи Алан Барис. SQL> удалить из имен, где name = 'Alan'; Строка удалена. SQL> совершает; / Фиксация завершена. SQL> вставить в имена значения ('Алан'); строка создана. SQL> совершает; Фиксация завершена. SQL> выберите * из имен; ИМЯ ------------------------------ Выбраны строки Алан Читра Томи.

Метод 3 из 4: удаление нескольких дубликатов

Удаление повторяющихся записей в Oracle Шаг 8
Удаление повторяющихся записей в Oracle Шаг 8

Шаг 1. Выберите RowID, который вы хотите удалить

После «SQL» введите «select rowid, name from names;.»

Удаление повторяющихся записей в Oracle, шаг 9
Удаление повторяющихся записей в Oracle, шаг 9

Шаг 2. Удалите дубликаты

После «SQL» введите «удалить из имен a, где rowid> (выберите min (rowid) из имен b, где b.name = a.name);» удалить дубликаты.

Удаление повторяющихся записей в Oracle Шаг 10
Удаление повторяющихся записей в Oracle Шаг 10

Шаг 3. Проверьте дубликаты

После выполнения вышеуказанных шагов проверьте наличие дубликатов, введя «выберите rowid, name from names;» затем "совершить".

SQL> выберите rowid, имя из имен; ИМЯ ROWID ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Выбраны строки Alan. SQL> удалить из имен a, где rowid> (выберите min (rowid) из имен b, где b.name = a.name); строки удалены. SQL> выберите rowid, имя из имен; ИМЯ ROWID ------------------ ------------------------------ AABJnsAAGAAAdfOAAA Алан AABJnsAAGAAAdfOAAC Кэрри AABJnsAAGAAAdfOAAD Выбранные строки Tom. SQL> совершает; Фиксация завершена.

Метод 4 из 4: удаление строк по столбцам

Удаление повторяющихся записей в Oracle Шаг 11
Удаление повторяющихся записей в Oracle Шаг 11

Шаг 1. Выберите строку

После «SQL» введите «выберите * из имен;» чтобы видеть линию.

Удаление повторяющихся записей в Oracle Шаг 12
Удаление повторяющихся записей в Oracle Шаг 12

Шаг 2. Удалите повторяющиеся строки, указав их столбцы

После «SQL '» введите «удалить из имен a, где rowid> (выберите min (rowid) из имен b, где b.name = a.name и b.age = a.age);» удалить повторяющиеся записи.

Удаление повторяющихся записей в Oracle Шаг 13
Удаление повторяющихся записей в Oracle Шаг 13

Шаг 3. Проверьте дубликаты

Выполнив описанные выше шаги, введите «выберите * из имен»; затем «зафиксируйте», чтобы проверить, действительно ли были удалены дубликаты.

SQL> выберите * из имен; ИМЯ ВОЗРАСТ ------------------------------ ---------- Alan 50 Citra 51 Tomi 52 Alan 50 строки выбраны. SQL> удалить из имен a, где rowid> (выберите min (rowid) из имен b, где b.name = a.name и b.age = a.age); строка удалена. SQL> выберите * из имен; НАЗВАНИЕ ВОЗРАСТ ------------------------------ ---------- Alan 50 Citra 51 Tomi Выбрано 52 строки. SQL> совершает; Фиксация завершена.

Предупреждение

  • Создайте дублирующую таблицу в своем логине, чтобы ее можно было использовать в качестве ссылки на контент, когда никакие данные не были удалены (если у вас есть какие-либо вопросы).

    SQL> создать таблицу alan.names_backup как select * from names; Таблица создана.

Рекомендуемые: