Forum > Övriga serverspråk > Övriga serverspråk
Hejsan!
Jag sitter och funderar över hur man bäst skulle skriva en SQL-fråga för att ta ut den rad ur en databas som är mest populär där tre olika faktorer spelar in: Antal som gillar, antal som ogillar, antal visningar.
Har ni något tips på hur man bäst skriver denna fråga?
| Skriv utÄr det ingen större vikt på att om det är 2 som har sett den och sagt att dom gillar väger högre (100%) än om det är 4st som har sett och 3 gillar (75%)? Vilken av dessa väger mest, önskad resultat på att vikten på sorteringen på dessa två poster?
Jag tycker att den bör sorteras utefter ditt andra förslag, jag tror det blir jämnare och man får en mer korrekt bild av hur populär den egentligen är på det sättet, så har posten 200 visningar och 75% så tycker jag den ska visas framför en post som har 4 visningar och 75%, låter inte det mest logiskt?
Men vad händer med filmen/sidan som har 20 000 besökare och inga röster? Väger den mer än den som har fått 2 besök och två röster som "gillar"?
Jag hade gjort någon formel för att sätta värden:
Gillar = 2
Ogillar = 3
Sett = 0.5
Och du har en sida som har:
3 besök (1,5pt)
1 gillar (2pt)
1 Ogillar (-3)
------------------
0,5pt
(notera att detta bara är ett exempel)
men att hitta någon typ av formel som passar alla parter, om den gillas men ses mindre så bör den ligga högt upp och kan få mer besök då det är så många som gillar den, men även en sida som har många besökare men lite färre röster (men fortfarande inga negativa) bör också ligga högt upp.
Det har du rätt i, att jag inte tänkte på det!
Det var ju en väldigt bra lösning, jag tror jag ska testa mig fram med detta - hur skulle du rekommendera mig att göra med poänguträkningen, vid uthämtandet av informationen i databasen, eller att jag har ett fast värde i databasen som uppdateras efter att saker sker med posten (besök, gilla, ogilla). Bör inte det sistnämnda alternativet vara att föredra?
skapa en trigger i din databas eller kör uträkningen, när den uppdateras, det är ju bara tal så det skall ju inte vara något jätte jobb. Kör så simpelt du kan ;)
Fast det klart, du behöver kanske inte göra en formel för det:
(1*Antal besökare + 1*Antal Positiva) - 1*Negativa = poäng
och göra sorteringen på poäng, fast det klart om man har sett en film och inte rekommendera den alls så bli det 0 poäng (ditt besök + -1 negativ röst) så det kan man inte riktigt köra mot (tycker jag).
Det blev helt perfekt det här voigtan, tack för hjälpen!