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
Annonceindlæg fra Infor
22. marts 2006 - 00:41
#1
Har du prøvet GROUP BY? SELECT UnitID, navn, size FROM tabel GROUP BY UnitID;
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
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
22. marts 2006 - 09:57
#4
Der er også et datetime kolonne. så den skal vælge den sidste indsatte records.
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
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
23. marts 2006 - 15:20
#7
ok
Computerworld tilbyder specialiserede kurser i database-management