webForumDet fria alternativet

krångligt - visa från db i ordning..

Databaser & SQL

6 svar · 243 visningar · startad av Poffe

Medlem sedan apr. 20022 743 inlägg
Frågan#1

Hello!

Jag håller å med en toplista men vet inte hur jag ska få den att skriva ut sidorna som jag vill riktigt..

I databasen (MySQL) sparas antal dagar sidan har varit med i listan samp hur många röster den har fått. Nu vill jag att scriptet ska räkna ut röstsnittet, alltså ( röster / dagar ), och visa sidorna i ordning efter den som har högs röstsnitt.

Det är alltså själva SQL-satsen jag är ute efter.

Nån som vet hur jag ska lösa det? Annars får det väll bli en vanlig toplista som nollställs varje vecka eller nått sånt...

Tack på förhand!

Medlem sedan dec. 200012 464 inlägg
#2
select * from  toplist order by (votes+0.0)/(days+0.0) desc

Flyttar tråden till SQL.

Medlem sedan apr. 20022 743 inlägg
#3

vad det inte krångligare :)

Tack så mycket!!!!

Medlem sedan apr. 20022 743 inlägg
#4

edit: kom på felet *dum*

Medlem sedan apr. 20022 743 inlägg
#5

opps.. det funkar ju inte som jag tänkt mig :/

har testat lite nu och det visade sig att den inte sorterar efter röstsnittet utan efter ID't, koden:

Select top 20 * From medlemmar Where rIn >= 1 Order By (rIn+0.0)/("& DateDiff("d", Now, Datum) &"+0.0)

Nån som vet hur jag ska lösa det?

Medlem sedan dec. 200012 464 inlägg
#6

Datum är alltså en kolumn i din tabell?

Select  * From medlemmar Where rIn >= 1 Order By (rIn+0.0)/(to_days(current_date)-to_days(datum)+0.0) limit 0,20

top fungerar inte i Mysql. (eller har opportunisterna lagt in det? =))

Medlem sedan apr. 20022 743 inlägg
#7

tackar, ska testa det så fort jag få chansen! (sitter på en annan burk nu...)

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)