Gå til innhold

Anbefalte innlegg

Har en tabell med ca 500 verdier. Ønsker å finne de verdiene som det er flere enn en av. Altså finne verdier som er blitt lagt inn flere ganger for å luke ut disse.

 

Noen som har noen tips å komme med? Fortrinnsvis en løsning basert på php/mysql.

Lenke til kommentar
Videoannonse
Annonse

Gitt at du har en tabell "test" med en kolonne "val", vil følgende fungere dersom du har støtte for subqueries:

 

select * from ( select val, count(*) as antall
 from test group by val) as t
where antall > 1;

 

Dernest kan du bruke delete med limit for å slette alle unntatt en oppføring.

 

Litt off topic, men i SQL Server 2005 eller IBM DB2 gjør følgende spørring alt du forespør (altså sletter samtlige duplikate verdier):

 

with Temp as (
 select val, row_number() over (partition by val order by val) as forekomst
 from Test ) delete from Temp where forekomst > 1;

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...