Avatar billede chriz7913 Nybegynder
31. januar 2009 - 13:40 Der er 4 kommentarer og
1 løsning

select distinct top 5 efter flest klik

Hej
jeg har 2 tabeller, den ene "links" som inder holder: id, navn, url. Og den anden "klik" som indeholder hver gang en bruger har klikket på et link; linkid, brugerid, dato.
Nu vil jeg gerne lave en top5 liste over de links der er klikket flest gange på.
Håber i forstår :)
- Chris
Avatar billede jensgram Nybegynder
31. januar 2009 - 14:13 #1
SELECT l.navn, l.url, COUNT(k.linkid) AS cntKlik FROM links AS l, klik AS k WHERE l.id = k.linkid GROUP BY k.linkid ORDER BY COUNT(k.linkid) DESC LIMIT 5

Utestet
Avatar billede chriz7913 Nybegynder
31. januar 2009 - 15:12 #2
Der kommer fejl op; "Invalid use of group function" :/
Avatar billede jensgram Nybegynder
01. februar 2009 - 11:25 #3
Hmm - mærkeligt. Jeg kan sagtens få noget tilsvarende til at virke.

Du kan naturligvis udskifte COUNT()-funktionen i ORDER BY:

SELECT l.navn, l.url, COUNT(k.linkid) AS cntKlik FROM links AS l, klik AS k WHERE l.id = k.linkid GROUP BY k.linkid ORDER BY cntKlik DESC LIMIT 5

Men det hjælper nok næppe på det specifikke problem. Er feltnavnene rigtige?
Avatar billede chriz7913 Nybegynder
01. februar 2009 - 13:05 #4
ja, eller de hedder noget andet i virkeligheden. Men underligt nok duede dit andet eksempel, så det var godt :)
Læg et svar :b
Avatar billede jensgram Nybegynder
02. februar 2009 - 10:06 #5
Tjek!
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