Kaltaisesi lukijat auttavat tukemaan MUO: ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion. Lue lisää.

Tietokannan suunnittelun parhaat käytännöt suosittelevat YKSILÖLLÄ rajoitteen käyttöä estämään kaksoiskappaleet tietokannassa. Jos työskentelet huonosti suunnitellun tietokannan tai epäpuhtaiden tietojen kanssa, saatat joutua etsimään kopioita itse ja poistamaan ne manuaalisesti.

Lue lisää saadaksesi tietoja kaksoiskappaleiden löytämisestä SQL-tietokannasta ja niiden poistamisesta.

Luo mallitietokanta

Luo esittelyä varten Käyttäjät-niminen taulukko, jossa on nimi ja tulossarake suorittamalla tämä SQL-kysely.

PUDOTAPÖYTÄJOSOLEMASSAKäyttäjät;

LUODAPÖYTÄKäyttäjät (
pk_id int PÄÄAVAIN,
nimi VARCHAR (16),
pisteet INT,
);

Lisää näytearvoja suorittamalla tämä kysely:

LISÄÄINTO
Käyttäjät (pk_id, nimi, pisteet)
ARVOT
(1, "Jane", 20),
(2, "John", 13),
(3, "Alex", 32),
(4, "John", 46),
(5, "Jane", 20),
(6, "Maria", 34),
(7, "Jane", 20),
(8, "John", 13)

Huomaa, että jotkin näistä riveistä sisältävät päällekkäisiä arvoja nimisarakkeelle.

instagram viewer

Voit vapaasti tutustua näihin SQL-komennot ja kyselyt jos tarvitset syvällisemmän selityksen tietokantojen käsittelystä SQL: n avulla.

GROUP BY: n käyttäminen päällekkäisten arvojen etsimiseen

Sinä pystyt käytä GROUP BY -käskyä arvojen järjestämiseen jotka täyttävät tietyt ehdot samassa ryhmässä.

Oletetaan, että esimerkkitaulukon nimien on oltava yksilöllisiä. Voit ryhmitellä samannimiset rivit GROUP BY: llä.

VALITSEnimi, KREIVI(nimi)
Käyttäjiltä
GROUP BY
ON LUKEMINEN(nimi) > 1

COUNT antaa sinun valita rivit, joilla on useampi kuin yksi samanniminen käyttäjä.

Kun suoritat tämän kyselyn, tietokanta palauttaa rivit, jotka sisältävät Johnin ja Janen kaksoiskappaleina.

Kaksoiskappaleiden poistaminen tietokannasta

Kun olet löytänyt kaksoiskappaleet, haluat ehkä poistaa ne DELETE-käskyllä.

Suorita tässä esimerkissä seuraava kysely:

KANSSA cte KUTEN (
VALITSE *
ROW_NUMBER() YLI (
OSIJOITUS
nimi, pisteet
TILAA
nimi, pisteet
) R
FROM
Käyttäjät
)

POISTAAFROM cte
MISSÄ R > 1;

Tämä kysely etsii kaksoiskappaleet CTE-lausekkeen avulla ja poistaa sitten ne kaikki yhtä lukuun ottamatta.

Miksi sinun pitäisi poistaa päällekkäiset tiedot

Päällekkäisten tietojen poistaminen ei ole välttämätöntä. Sen avulla voit kuitenkin vapauttaa päällekkäisten rivien käyttämää tilaa.

Vähemmän rivejä tarkoittaa myös sitä, että kyselyt voidaan suorittaa paljon nopeammin, mikä parantaa suorituskykyä. Käytä tämän opetusohjelman kyselyitä auttaaksesi löytämään ja poistamaan kaksoiskappaleita SQL-tietokannasta.