Avatar billede vraa Nybegynder
16. maj 2007 - 08:56 Der er 12 kommentarer og
1 løsning

select distinct

Jeg har følgende tabel

Jeg har følgende tabel:

ID Kolonne1    Kolonne1    Kolonne3
1  DJ        A        0
2  E1        B        0
3  GR        C        2
4  OD        D        0
5  R1        F        0
6  R1        G        1
7  R2        H        2
8  SAM        J        0
9  SI        K        2
10 Å1        L        1
11 Å1        M        3
12 Å2        N        0
13 Å3        O        1

Jeg vil gerne have alle kolonner ud, men med "distinct" på kolonne 1. Dvs, er der 2 ens forekomster i kolonne 1 skal kun den første forekomstrække vælges.

How to?
Avatar billede phliplip Nybegynder
16. maj 2007 - 08:58 #1
SELECT DISTINCT * FROM tabel GROUP BY Kolonne1
Avatar billede bennytordrup Nybegynder
16. maj 2007 - 09:01 #2
select Tabel.ID, Tabel.Kolonne1, Kolonne2, Kolonne3
from tabel inner join (select Kolonne1, Min(ID) as ID from Tabel) DistinctKol1 on Tabel.ID = DistinctKol1.ID
Avatar billede showsource Seniormester
16. maj 2007 - 09:12 #3
Er det ikke blot
SELECT * FROM tabel GROUP BY Kolonne1
Avatar billede bennytordrup Nybegynder
16. maj 2007 - 09:19 #4
showsource >> Det tror jeg ikke, da der ikke indgår nogle aggregat-funktioner på kolonne2 og kolonne3.

Min finder mindste ID for hver distinkt Kolonne1 og bruger dette ID til at finde de tilhørende værdier for kolonne2 og kolonne3
Avatar billede Slettet bruger
16. maj 2007 - 09:42 #5
SELECT Min(ID),Kolonne1, Kolonne2, Kolonne3
FROM tabel GROUP BY Kolonne1, Kolonne2, Kolonne3
Avatar billede bennytordrup Nybegynder
16. maj 2007 - 09:44 #6
rahp >> Din select vil returnere to gange R1, da kolonne2 og kolonne3 er forskellige for samme R1
Avatar billede Slettet bruger
16. maj 2007 - 10:23 #7
Ja, det er rigtigt (at det er forkert)
Avatar billede kjulius Novice
16. maj 2007 - 22:00 #8
Måske sådan her (har ikke testet det)?

SELECT *
FROM dinTabel t
WHERE EXISTS (SELECT Kolonne1 FROM dinTabel WHERE Kolonne1=t.Kolonne1 GROUP BY Kolonne1 HAVING MIN(Id) = t.Id)
Avatar billede phliplip Nybegynder
18. maj 2007 - 09:11 #9
vraa?
Avatar billede vraa Nybegynder
21. maj 2007 - 10:01 #10
kjulius-> Dit eksempel virkede. Får præcist det ønskede resultat. Læg et svar så får du dine point

rahp og bennytordrup-> Kunne ikke få Jeres eksempler til at virke. Sikkert min egen skyld at jeg ikke kan justere det til, men pointene går kjulius.
Avatar billede kjulius Novice
21. maj 2007 - 19:02 #11
Perfekt!
Avatar billede phliplip Nybegynder
22. maj 2007 - 15:59 #12
Hvad med mit eksempel?
Avatar billede vraa Nybegynder
24. maj 2007 - 15:03 #13
phliplip -> Jeg kan ikke sige præcis hvad der er i vejen med eksemplet, men jeg fik ikke isoleret dataene på den måde som jeg ønskede. Fik alt for mange resultater ud.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester