Avatar billede thomas_j Nybegynder
22. marts 2006 - 00:28 Der er 6 kommentarer og
1 løsning

Distinct - udskrive flere kolonner

Jeg har lidt problemer med at får en liste af data (flere kolonner), hvoraf en af kolonner er unik (distinct)

SELECT DISTINCT(UnitID), navn, size o.s.v

opfylder ikke helt kravene, da den jo laver distinct på alle kolonner

Hvis jeg har en tabel med følgende data.

UnitId Navn Size
ADS1  th  21
ADS1  hh  23
SDR2  rt  32
dfr3  ft  45
frs3  yt  76

Ud fra dette vil jeg gerne have et resultat som ser ud som

ADS1  th  21
SDR2  rt  32
DFR3  ft  45
frs3  yt  76

Nogle som har nogle foreslag
Avatar billede pidgeot Nybegynder
22. marts 2006 - 00:41 #1
Har du prøvet GROUP BY?

SELECT UnitID, navn, size FROM tabel GROUP BY UnitID;
Avatar billede thomas_j Nybegynder
22. marts 2006 - 00:48 #2
Ja

Dette ændrer ikke noget

Derudover skal melder den også fejl, hvis alle kolonner ikke er med i Group By statementen

Virker kun med

Select UnitId, navn, Size FROM Tabel Group By UnitID, navn, size

også skriver den alle ud
Avatar billede arne_v Ekspert
22. marts 2006 - 01:52 #3
dit problem er ikke specielt veldefineret da det ikke fremgår hvordan
du vælger mellem

ADS1  th  21

og

ADS1  hh  23

hvis du beskriver det så kan vi sikkert komme med en løsning
Avatar billede thomas_j Nybegynder
22. marts 2006 - 09:57 #4
Der er også et datetime kolonne.

så den skal vælge den sidste indsatte records.
Avatar billede arne_v Ekspert
23. marts 2006 - 04:52 #5
det kan du så gøre med en subquery hvis du kører MySQL 4.1 eller 5.0

SELECT unitid,navn,size
FROM tabel t1
WHERE dato = (SELECT MAX(dato) FROM tabel t2 WHERE t1.unitid=t2.unitid)

eller nogen tilsvarende
Avatar billede thomas_j Nybegynder
23. marts 2006 - 15:10 #6
Kanon

Lige det jeg skulle bruge..

Bare smid et svar - så får du pointene

Takker for hjælpen
Avatar billede arne_v Ekspert
23. marts 2006 - 15:20 #7
ok
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