4 Mga Paraan upang Tanggalin ang Mga Dobleng Rekord sa Oracle

Talaan ng mga Nilalaman:

4 Mga Paraan upang Tanggalin ang Mga Dobleng Rekord sa Oracle
4 Mga Paraan upang Tanggalin ang Mga Dobleng Rekord sa Oracle

Video: 4 Mga Paraan upang Tanggalin ang Mga Dobleng Rekord sa Oracle

Video: 4 Mga Paraan upang Tanggalin ang Mga Dobleng Rekord sa Oracle
Video: How to Get Microsoft Office for Free (STEP BY STEP TAGALOG TUTORIAL) 2024, Mayo
Anonim

Habang nagtatrabaho sa Oracle, maaari kang makahanap ng mga duplicate sa ilang mga talaan. Maaari mong alisin ang mga duplicate na hilera sa pamamagitan ng pagkilala sa mga ito at paggamit ng kaukulang RowID alias row address. Bago magsimula, lumikha ng isang backup na talahanayan kung sakaling kailangan mo ng isang sanggunian pagkatapos na ang talaan ay tinanggal.

Hakbang

Paraan 1 ng 4: Pagkilala sa Mga Duplikado

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 1
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 1

Hakbang 1. Kilalanin ang mga duplicate

Sa halimbawang ito, kinikilala namin ang duplicate na "Alan". Tiyaking ang mga talaan na tatanggalin ay talagang mga duplicate sa pamamagitan ng pagpasok sa SQL sa ibaba.

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 2
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 2

Hakbang 2. Kilalanin mula sa haligi na pinamagatang "Pangalan"

Kung sakaling ang pamagat ay may pamagat na "Pangalan", kailangan mong palitan ang "haligi_pangalan" ng Pangalan.

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 3
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 3

Hakbang 3. Kilalanin ang iba pang mga haligi

Kung sinusubukan mong kilalanin ang mga duplicate mula sa iba't ibang mga haligi, halimbawa edad ni Alan sa halip na ang kanyang pangalan, ipasok ang "Edad" kapalit ng "haligi_pangalan" at iba pa.

piliin ang haligi_pangalan, bilangin (haligi_pangalan) mula sa pangkat ng talahanayan ayon sa haligi_pangalan na may bilang (haligi_pangalan)> 1;

Paraan 2 ng 4: Pag-aalis ng Mga Single na Doble

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 4
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 4

Hakbang 1. Piliin ang "pangalan mula sa mga pangalan"

Pagkatapos ng "SQL" (maikli para sa Karaniwang Wika ng Query), ipasok ang "piliin ang pangalan mula sa mga pangalan".

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 5
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 5

Hakbang 2. Tanggalin ang lahat ng mga hilera na may mga dobleng pangalan

Pagkatapos ng "SQL", ipasok ang "tanggalin mula sa mga pangalan kung saan name = 'Alan';." Dapat pansinin na ang capitalization ay mahalaga dito upang ang hakbang na ito ay maaaring tanggalin ang lahat ng mga linya na pinangalanang "Alan". Pagkatapos ng "SQL", ipasok ang "gumawa"

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 6
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 6

Hakbang 3. Ipasok muli ang mga hilera nang walang mga duplicate

Ngayon na tinanggal mo ang lahat ng mga hilera at pinalitan ang mga ito ng "Alan", punan muli ang isa sa pamamagitan ng pagpasok ng "ipasok sa mga halaga ng pangalan ('Alan');." Pagkatapos ng "SQL", ipasok ang "gumawa" upang lumikha ng isang bagong linya.

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 7
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 7

Hakbang 4. Tingnan ang bagong listahan

Matapos makumpleto ang mga hakbang sa itaas, maaari mong suriin upang matiyak na wala nang mga duplicate na tala sa pamamagitan ng pagpasok ng "select * mula sa mga pangalan".

SQL> piliin ang pangalan mula sa mga pangalan; PANGALAN ---- Si Alan Citra Tomi Alan Baris ang napili. SQL> tanggalin mula sa mga pangalan kung saan name = 'Alan'; Ang linya ay tinanggal. Gumawa ng SQL>; / Kumpleto na. SQL> ipasok sa mga halaga ng pangalan ('Alan'); nalikha ang hilera. Gumawa ng SQL>; Kumpleto na. SQL> piliin * mula sa mga pangalan; PANGALAN ----------------- Napili ang mga hilera ni Alan Citra Tomi.

Paraan 3 ng 4: Pag-aalis ng Maramihang Mga Doble

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 8
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 8

Hakbang 1. Piliin ang RowID na nais mong tanggalin

Pagkatapos ng "SQL", ipasok ang "piliin ang rowid, pangalan mula sa mga pangalan;."

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 9
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 9

Hakbang 2. Alisin ang mga duplicate

Pagkatapos ng "SQL", ipasok ang "tanggalin mula sa mga pangalan kung saan rowid> (piliin ang min (rowid) mula sa mga pangalan b kung saan b.name = a.name);" upang alisin ang mga duplicate.

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 10
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 10

Hakbang 3. Suriin ang mga duplicate

Matapos makumpleto ang mga hakbang sa itaas, suriin ang mga duplicate sa pamamagitan ng pagpasok ng "piliin ang rowid, pangalan mula sa mga pangalan;" pagkatapos ay "gumawa".

SQL> piliin ang rowid, pangalan mula sa mga pangalan; ROWID NAME ----------------- ----------------- AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAB Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Tom AABJnsAAGAAAdfOAAF Napili ang mga hilera ng Alan. SQL> tanggalin mula sa mga pangalan a kung saan rowid> (piliin ang min (rowid) mula sa mga pangalan b kung saan b.name = a.name); ang mga hilera ay tinanggal. SQL> piliin ang rowid, pangalan mula sa mga pangalan; ROWID NAME ----------------- ----------------- AABJnsAAGAAAdfOAAA Alan AABJnsAAGAAAdfOAAC Carrie AABJnsAAGAAAdfOAAD Napili ang mga hanay ng Tom. Gumawa ng SQL>; Kumpleto na.

Paraan 4 ng 4: Pagtanggal ng Mga Hilera ayon sa Mga Haligi

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 11
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 11

Hakbang 1. Piliin ang hilera

Pagkatapos ng "SQL", ipasok ang "select * mula sa mga pangalan;" upang makita ang linya.

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 12
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 12

Hakbang 2. Alisin ang mga dobleng hilera sa pamamagitan ng pagkilala sa kanilang mga haligi

Pagkatapos ng "SQL '" ipasok ang "tanggalin mula sa mga pangalan kung saan rowid> (piliin ang min (rowid) mula sa mga pangalan b kung saan b.name = a.name at b.age = a.age);" upang alisin ang mga duplicate na tala.

Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 13
Tanggalin ang Mga Dobleng Rekord sa Oracle Hakbang 13

Hakbang 3. Suriin ang mga duplicate

Kapag nakumpleto mo na ang mga hakbang sa itaas, ipasok ang "select * mula sa mga pangalan;" pagkatapos ay "gumawa" upang makita kung ang mga duplicate ay tinanggal na talaga.

SQL> piliin * mula sa mga pangalan; NAME AGE ------------------------------ ---------- Alan 50 Citra 51 Tomi 52 Alan 50 napili ang mga hilera. SQL> tanggalin mula sa mga pangalan a kung saan rowid> (piliin ang min (rowid) mula sa mga pangalan b kung saan b.name = a.name at b.age = a.age); tinanggal ang hilera. SQL> piliin * mula sa mga pangalan; NAME AGE ---------------------------- ---------- Alan 50 Citra 51 Tomi 52 mga hilera ang napili. Gumawa ng SQL>; Kumpleto na.

Babala

  • Lumikha ng isang duplicate na talahanayan sa iyong pag-login upang maaari itong magamit bilang isang sanggunian sa nilalaman kapag walang natanggal na data (kung sakaling mayroon kang anumang mga katanungan).

    SQL> lumikha ng talahanayan alan.names_backup bilang pili * mula sa mga pangalan; Nilikha ang mesa.

Inirerekumendang: