Avatar billede Slettet bruger
03. april 2005 - 19:24 Der er 5 kommentarer og
1 løsning

Sortere efter andet query

Jeg har et query hvor jeg henter en mængde links:
SELECT id, kategori FROM links WHERE links.kategori='".addslashes($_GET[cat])."' ORDER by links.id desc LIMIT $sspalte3,$spalte3
(lidt PHP ting i - ikke relevant for spørgsmålet...

Derudover har jeg et query som henter ratingen for det enkelte link, fra en anden tabel over stemmer og beregner gennemsnittet:
SELECT SUM(vote)/COUNT(id) as rating, COUNT(id) as stemmer FROM link_votes WHERE id='$row[id]' GROUP BY id
(WHERE id = id på linket)

Nu vil jeg gerne sortere det første query efter ratings, altså hvor de højest ratede links kommer først.
Avatar billede bromer Nybegynder
03. april 2005 - 19:29 #1
Hvad med noget som

SELECT l.id,l.kategori,r.id,SUM(vote)/COUNT(id) as rating,COUNT(1) as stemmer FROM links l INNER JOIN rating r ON (r.id = l.id) GROUP BY r.id ORDER BY rating

du skal nok fedte en IF ind i din query hvis COUNT(id) er 0, men jeg er på vej ud af døren, men jeg kan eventuelt lige se på det når jeg ankommer på arbejde :)
Avatar billede arne_v Ekspert
03. april 2005 - 19:29 #2
måske noget a la

SELECT id,kategori,SUM(vote)/COUNT(id) AS rating
FROM links,link_votes
WHERE links.id=link_votes.id AND kategori=X
GROUP BY id,kategori
ORDER BY rating DESC
Avatar billede Slettet bruger
03. april 2005 - 20:04 #3
Bromer din virkede... Har dog en smule problemer med den... Det lader ikke til at links med en stemme kommer... Har ikke lige fundet ud af hvad mønstret i det er :(
Avatar billede bromer Nybegynder
03. april 2005 - 20:30 #4
okay, jeg skal ikke lige kunne sige hvorfor. Kunne du ikke tænke dig at lægge et dump af dine to tabeller ud på pastebin eller noget i den stil og så smide et link her. Det er lidt lettere at arbejde med når man rent faktisk har tabellerne :)
Avatar billede Slettet bruger
20. juni 2006 - 19:48 #5
Skal vi dele?
Avatar billede Slettet bruger
22. august 2006 - 16:53 #6
Nå ikke ;)
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