09. september 2007 - 01:39Der er
4 kommentarer og 1 løsning
Beregn gennemsnit
Hvis MinTabel indeholder data, skal gennemsnittet beregnes. Hvordan? Har bakset en del med det nu, ønsker lidt hjælp:
If Not qRS.EOF Then SQL = "SELECT AVG(points) AS AveragePoints FROM MinTabel WHERE catID = " & qID & " And movieID = " & xID & "" Set RS = Conn.Execute(SQL) Else 'Formular indsættes End If
Undskyld den lange svartid, w13. Mit indledende spørgsmål er forkert formuleret. Helt specifikt, så ligger problemet i dette:
Jeg har nogle forskellige filer, hvor brugerne angiver en værdi til hver enkelt fil. Gennem en løkke trækker jeg links ud til hver fil. Det kan være at ID'erne ser således ud:
ID1 = 14 ID2 = 43
Fra denne tabel skal jeg med AVG(points) beregne gennemsnittet, og trække det med ud i løkken. Hvis nu brugerne giver flg. point, hvor ID1 = 14, og ID2 = 43:
ID1 = 14 ID2 = 43 Bruger = 1 point = 5 ID1 = 14 ID2 = 43 Bruger = 2 point = 7 ID1 = 14 ID2 = 43 Bruger = 3 point = 2 ID1 = 14 ID2 = 43 Bruger = 4 point = 8
- så får jeg et gennemsnit på 5,5 på denne fil.
Min første indskydelse var at lave en relationsdatabase, men som jeg lige ser det, vil det ikke være en fordel. Hvordan skal SQL-forespørgslen se ud, hvis jeg skal have gennemsnittet for den fil, hvor ID1 = 14, og ID2 = 43? Der er mange andre ID1'er og ID2'er i tabellen med andre værdier. Det ovenstående er kun eksempel på ?ID1=14&ID2=43
Håber dette giver et mere klart billede af hvad jeg mener:
<% Dim RS, SQL, averageRS Set RS = Conn.Execute("SELECT * FROM MinTabel WHERE ID1 = 14 ORDER BY vTitle ASC") SQL = "SELECT AVG(points) AS AveragePoints FROM MinTabel WHERE .......?" Set averageRS = Conn.Execute(SQL)
If Not RS.EOF Then
Do Until RS.EOF %> <a href="/../../....asp?ID1=<%=RS("ID1"%>&ID2=<%=RS("ID2")%>" title="<%=RS("description")%>"><%=RS("vTitle")%></a> <%=averageRS("AveragePoints")%> <% RS.MoveNext Loop Else %>
<% Dim RS, SQL, averageRS Set RS = Conn.Execute("SELECT * FROM MinTabel WHERE ID2 = 43 ORDER BY vTitle ASC") SQL = "SELECT AVG(points) AS AveragePoints FROM MinTabel WHERE .......?" Set averageRS = Conn.Execute(SQL)
If Not RS.EOF Then
Do Until RS.EOF %> <a href="/../../dokument.asp?ID1=<%=RS("ID1")%>&ID2=<%=RS("ID2")%>" title="<%=RS("description")%>"><%=RS("vTitle")%></a> <%=averageRS("AveragePoints")%> <% RS.MoveNext Loop Else %>
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.