webForumDet fria alternativet

Loopa i sql satsen?

6 svar · 282 visningar · startad av Thompa__85

Thompa__85Medlem sedan aug. 2002600 inlägg
#1

Hejsan!
Jag har ett litet problem här!
Jag vill kunna sortera efter snittpoäng, men saken är den att jag inte har sparat något snittpoäng i databasen, utan det räknar jag ut på sidan.

Så här ser min SQL Sats ut:

SQL = "SELECT * FROM bildbild "
Set RS = Connect.Execute(SQL)

Så här räknar jag ut Snittpoängen:

If Rs("intAntalrost") = 0 Then 
   Snitt = 0
Else	
   TotalaRoster = rs("intantalrost")
   Poang = rs("intpoang") 
   Snitt = Round(Poang/TotalaRoster,2) 
End if

Å den ska räkna ut snittpoängen för alla medlemmar, därför måste jag loopa.. hur gör jag?

MVh Thomsson

Patrik81Medlem sedan okt. 2001538 inlägg
#2

Hejsan, detta är inte ett svar på din fråga, utan en egen fråga:

Finns det ingen funktion i din databashanterare som kan räkna ut snittpoängen åt dig, så att du slipper loopa all den koden en gång för varje medlem?
Jag vet att en sådan funktion iaf. existerar i MySQL för jag använder den på en egen sida.

Och då skulle ju resultatet av allt detta iaf. bli att:

Alla snittpoängen får du lagra i en array, som du sedan sorterar. Och sedan får du loopa ut arrayen.

(Kanske skall tilläggas att det var läääängesedan jag sysslade med asp så jag är inte helt säker på att man kan slänga ihop en array dynamiskt så via en loop, eller om det finns sorteringsfunktioner för dem (sysslar mest med php nu för tiden) men jag skulle väl inte kunna tänka mig att asp är sämre än php i det avseendet)

MVH Patrik

Thompa__85Medlem sedan aug. 2002600 inlägg
#3

Patrik81 skrev:

Hejsan, detta är inte ett svar på din fråga, utan en egen fråga:

Finns det ingen funktion i din databashanterare som kan räkna ut snittpoängen åt dig, så att du slipper loopa all den koden en gång för varje medlem?
Jag vet att en sådan funktion iaf. existerar i MySQL för jag använder den på en egen sida.

Och då skulle ju resultatet av allt detta iaf. bli att:

Alla snittpoängen får du lagra i en array, som du sedan sorterar. Och sedan får du loopa ut arrayen.

(Kanske skall tilläggas att det var läääängesedan jag sysslade med asp så jag är inte helt säker på att man kan slänga ihop en array dynamiskt så via en loop, eller om det finns sorteringsfunktioner för dem (sysslar mest med php nu för tiden) men jag skulle väl inte kunna tänka mig att asp är sämre än php i det avseendet)

MVH Patrik

Okej, Vet ej? Använder själv MySQL.. så vad är det för funktion du menar?

Engine^Medlem sedan dec. 20003 887 inlägg
#4

Det finns som Patrik81 skrev en färdig funktion för detta...

SELECT AVG(intpoang), [i]userID[/i]
FROM bildbild
GROUP BY [i]userID[/i]
ORDER BY AVG(intpoang) DESC

Sedan är det bara att loopa igenom det resultatet...

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Flyttas från ASP

Thompa__85Medlem sedan aug. 2002600 inlägg
#6

Engine^ skrev:

Det finns som Patrik81 skrev en färdig funktion för detta...

SELECT AVG(intpoang), [i]userID[/i]
FROM bildbild
GROUP BY [i]userID[/i]
ORDER BY AVG(intpoang) DESC

Sedan är det bara att loopa igenom det resultatet...

Hmm okej, får detta felmess:

Microsoft VBScript compilation error '800a03fd'

Expected 'Case'

/bildarkiv/topp.asp, line 14

SELECT AVG(intpoang), userID
-------^

Vad gör AVG?

yohpopsMedlem sedan feb. 20011 198 inlägg
#7

Du ska inte använda detta i vb utan i SQL-frågan.

SELECT AVG(intpoang), userID
FROM bildbild
GROUP BY userID
ORDER BY AVG(intpoang) DESC
138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)