Avatar billede noerbo Nybegynder
29. januar 2009 - 17:56 Der er 13 kommentarer og
1 løsning

Sortering efter antallet af ens elementer

Hej

  Hvis jeg har en liste af tupler (key, ref), kan det så lade sig gøre at sortere den efter antallet af ens ref.

  Eksempelvis
key ref
1  a
2  g
3  a
4  c
5  g
6  g

Vil jeg gerne have sorteret således:

key ref
2  g
5  g
6  g
1  a
3  a
4  c

Da der er flest ref til a osv.

Kan dette lade sig gøre på en smart måde eller?
Avatar billede noerbo Nybegynder
29. januar 2009 - 17:57 #1
Ups, mente da der er flest ref til g, næst flest til a og midst til c
Avatar billede Dan Nim Seniormester
29. januar 2009 - 18:06 #2
prøv noget ala

select key, ref, count(ref) c from table group by c order by c desc
Avatar billede Dan Nim Seniormester
29. januar 2009 - 18:07 #3
sikke noget vås jeg skriver. Prøv dette:

select key, ref, count(ref) c from table group by ref order by c desc
Avatar billede noerbo Nybegynder
29. januar 2009 - 22:26 #4
Jeg sidder og arbejder i python, så prøver på at indarbejde det lidt trinvis.

Hvis jeg bruger følgende: SELECT key, ref_id FROM table virker det fint. Men hvis jeg prøver på at udvide til SELECT key, ref_id, count(ref_id) c FROM table virker det pludselig ikke mere. Jeg har prøvet med COUNT også, men uden held. Bør dette ikke give mig et resultat?
Avatar billede arne_v Ekspert
29. januar 2009 - 22:32 #5
Hvis du har en COUNT skal du vel ogsaa have en GROUP BY ?
Avatar billede noerbo Nybegynder
29. januar 2009 - 22:44 #6
Ja det ser sådan ud, nu virker det i hvert fald. Lige en sidste ting:

SELECT key, ref_id, COUNT(ref_id) c FROM table WHERE word=test GROUP BY ref_id ORDER BY c desc

Dette er den bedste rækkefølge at gøre det ikke?
Avatar billede arne_v Ekspert
30. januar 2009 - 01:57 #7
SLECT
FROM
WHERE
GROUP BY
ORDER BY

skal være i den rækkefølge
Avatar billede arne_v Ekspert
30. januar 2009 - 01:58 #8
Det er også værd at bemærke at den SQL kun virker i MySQL.

I andre SQL dialekter vil man få fejl, fordi der er et felt i select listen
som ikke er en aggregeret funktion og ikke er i group by listen.
Avatar billede noerbo Nybegynder
31. januar 2009 - 14:23 #9
Okay, mange tak for jeres hjælp, kan jeg få jer til at smide et svar så jeg kan give point?
Avatar billede noerbo Nybegynder
06. februar 2009 - 01:05 #10
Ingen, der har lyst til points eller?
Avatar billede arne_v Ekspert
06. februar 2009 - 01:20 #11
ja ja
Avatar billede Dan Nim Seniormester
06. februar 2009 - 08:52 #12
arne_v har lavvande i point-kassen, så bare lad ham få dem :-)
Avatar billede arne_v Ekspert
06. februar 2009 - 16:45 #13
29. januar 2009 kl. 18:07:40 var jo ellers korrekt svar - jeg hjalp bare spoerger lidt med implementationen.
Avatar billede noerbo Nybegynder
18. marts 2009 - 17:59 #14
Undskyld, kan se jeg har et par glemte spørgsmål. Men bedre sent end aldrig
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



IT-JOB

Udviklings- og Forenklingsstyrelsen

Serverdrift-specialist til Team Planning Tools

Udviklings- og Forenklingsstyrelsen

Underdirektør til gældsområdet

Cognizant Technology Solutions Denmark ApS

Senior Test Manager