Hvordan spørring for å finne like poster i en tabell

Hvordan spørring for å finne like poster i en tabell


Databasetabeller kan inneholde et bredt spekter av data. Uten å sette opp begrensninger og nøkler fra begynnelsen, men det kan være vanskelig å navigere gjennom all denne informasjonen. Som et eksempel: si at du utvikler en tabell for forfattere, men tillate brukere å skrive inn sine egne verdier. Du kan ende opp med seks forskjellige versjoner av Edgar Allan Poe når du egentlig bare vil ha en. For å gjøre denne type data meningsfylt, må du skrive spørringer som vil konsolidere duplikater.

Bruksanvisning

1 Skriv en enkel spørring for å hente data fra tabellen du er interessert i.

Eksempel spørring i SQL og Oracle syntaks:
VELG AuthorID, Displayname
Fra tblAuthors

2 Endre søket for å telle antall ganger en oppføring vises.

Eksempel spørring i SQL syntax:
SELECT COUNT (AuthorID) AS NumDuplicates, Displayname
Fra tblAuthors
GROUP BY Display

3 Filtrere listen for å gå tilbake bare oppføringer som vises mer enn én gang.

Eksempel spørring i SQL syntax:
VELG Display
Fra tblAuthors
GROUP BY Display
HAR ANTALL (AuthorID)> 1

Eksempel spørring i Oracle syntaks:
SELECT Displayname, COUNT (AuthorID) AS NumDuplicates
Fra tblAuthors
GROUP BY Display
HVOR NumDuplicates> 1

4 Endre søket til å støtte mer komplekse situasjoner som ikke involverer en primærnøkkel. Følgende eksempel vil bringe tilbake oppføringer som har tre kolonner som er det samme.

Eksempel spørring i SQL syntax:
SELECT Fornavn, Mellomnavn, Etternavn
Fra tblAuthors
GROUP BY Fornavn, Mellomnavn, Etternavn
HAR ANTALL (Lastname)> 1

Eksempel spørring i Oracle syntaks:
SELECT Fornavn, Mellomnavn, COUNT (Lastname) AS NumDuplicates
Fra tblAuthors
GROUP BY Fornavn, Mellomnavn, Etternavn
HVOR NumDuplicates> 1

Hint

  • Du kan endre spørringen til å trekke bare de oppføringene som oppstår et visst antall ganger. Dette kan være nyttig hvis du prøver å trekke en liste for å finne de mest populære verdier i motsetning til de som er unike.