Gå til innhold

Få returnert rader med lik verdi?


Anbefalte innlegg

Si jeg har en tabell:

Table1:

- A (pk)

- B

- C

- D

- E

 

Jeg vil kjøre en select hvor jeg får returnert de rader hvor f.eks C og D inneholder samme verdi i flere records. Med andre ord, så vil jeg kun ha returnert de record som har duplicate verdier i felt C og D.

 

Noen som kan hjelpe meg??

Endret av henjrn
Lenke til kommentar
Videoannonse
Annonse
Si jeg har en tabell:

Table1:

  - A (pk)

  - B

  - C

  - D

  - E

 

Jeg vil kjøre en select hvor jeg får returnert de rader hvor f.eks C og D inneholder samme verdi i flere records. Med andre ord, så vil jeg kun ha returnert de record som har duplicate verdier i felt C og D.

 

Noen som kan hjelpe meg??

7947604[/snapback]

 

Ja, her skal du benytte deg av en snerten liten sak som heter Group by.

 

select * from table1;

 

A B C D

----- ---------- ---------- -

1 1 1 A

2 1 1 B

3 1 1 B

 

slik ser tabellen jeg laget i all hast ut.

For å finne de som har lik verdi i d, så skriver jeg da

select d, count(*)
from table1
group by d
having count(*) >1

Resultatet blir da:

D COUNT(*)

- ----------

B 2

 

Da vet jeg at B er en verdi som går igjen i D feltet på 2 forekomster, for å finne hvilke 2 dette er, så skriver jeg.

select a
from table1
where d = 'B';

Resultat er da:

A

---

2

3

 

Altså har post 2 og 3 duplikat verdi i D feltet.

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...