09. december 2004 - 13:26Der er
5 kommentarer og 1 løsning
Vælge DISTINCT og ORDER BY i SQL
Hejsa,
jeg ved ikke helt, om SQL-spørgsmål hører hjemme her, men jeg kan ikke rigtig finde andre kategorier, der er mere passende, og det er vist ikke det første, der bliver postet her, så jeg håber på overbærenhed! :-)
Jeg skal have trukket nogle data ud fra en database, hvor jeg vil vælge dem DISTINCT, men ORDER BY et felt, jeg ikke trækker med ud. Det kan jeg ikke lige få til at lykkes...
Eksempel:
SELECT DISTINCT cOID, cKunde, cTitel FROM tblForbrug WHERE cUID=5 ORDER BY cID DESC
Udtrækket skal sorteres efter cID, men cID skal jo ikke trækkes med ud. Et eksempel på indholdet af databasen kunne være:
Nåh, på den måde. Jeg har ikke lige prøvet i Access, men hvis den har samme problem, er der kun et hack tilbage.
Tænk over at det ikke er veldefineret hvilken cID, den skal sortere efter, når der er flere at vælge imellem. Skal din 5000-kunde sorteres efter cID=1 eller 3?
Hvis du kan bestemme dig, bør dette virke:
select cOID,cKunde,cTitel,max(cID) from ... group by cOID,cKunde,CTitel order by Max(cID)
Der er kun én cID-kolonne at sortere efter, men værdierne i kolonnen skal sorteres i faldende orden. Hvis der kun var én værdi, var den svær at sortere :-)
Det var jo netop derfor, at jeg ville søge DISTINCT, fordi linierne iøvrigt er ens, så om det er 1 eller 3 er underordnet.
Men dit hack virker fint, så jeg takker så mange gange for hjælpen! Jeg havde selv prøvet lidt med GROUP BY, men ikke at kombinere dem...
Hmm, men det er nu engang konceptet herinde, og du har fortjent dem, men du skal i hvert fald have så mange tak for hjælpen! ;-))
Synes godt om
Ny brugerNybegynder
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.