Avatar billede PHPnQrd Nybegynder
21. marts 2011 - 15:57 Der er 6 kommentarer og
1 løsning

hente rating liste

hej jeg har en adskilt tabel med ratings i, jeg ønsker at hente top 10 der ha bedst rating.

hvordan gøres dette i 2 tabeller?

select * from users ORDER BY (select avg(round(rating)) from ratings) DESC LIMIT 0,10

eller..?
Avatar billede arne_v Ekspert
21. marts 2011 - 16:09 #1
Formentligt noget a la:

SELECT users.name, AVG(ratings.rating) AS avgrat
FROM users JOIN ratings ON users.id=ratings.userid
GROUP BY users.name
ORDER BY avgrat DESC
LIMIT 10
Avatar billede PHPnQrd Nybegynder
21. marts 2011 - 16:27 #2
tak, det virker.

hvordan fortæller jeg brugeren f.eks "Du lægger nr. xxx på toplisten ud af xxx"? skal vel også tjekke for ratingen for at finde placeringen.
Avatar billede PHPnQrd Nybegynder
21. marts 2011 - 16:29 #3
Tak.
Hvordan siger jeg f.eks "Du lægger nr. xxx ud af xxx"?
Avatar billede PHPnQrd Nybegynder
21. marts 2011 - 16:37 #4
tak, hvordan siger jeg så

SELECT * FROM hotnornot  WHERE koen = 'male' ORDER BY RAND() DESC LIMIT 0,1

altså man skal ikke vise dem man allerede har bedømt.

noget med

SELECT * FROM hotnornot  WHERE koen = 'male' AND NOT IN (select id from ratings where hvem=this.id) ORDER BY RAND() DESC LIMIT 0,1
Avatar billede PHPnQrd Nybegynder
21. marts 2011 - 16:37 #5
ok eksperten gik amok der, troede ikke den postede mine indlæg.
Avatar billede arne_v Ekspert
21. marts 2011 - 17:54 #6
proev:

SELECT *
FROM hotnornot
WHERE koen = 'male' AND id NOT IN (SELECT id FROM ratings WHERE hotornot.id=ratings.id)
ORDER BY RAND() DESC
LIMIT 1
Avatar billede arne_v Ekspert
21. marts 2011 - 17:54 #7
og et svar fra mig
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