10. juni 2004 - 17:01Der er
18 kommentarer og 1 løsning
Udregn placering efter uge og points (opdater)
Hejsa jeg har en konkurrence hvor mine brugere kan samle points sammen og den der så får flest points vinder - logisk nok. Der kan være x målinger pr uge og der udpeges en vinder hver uge.
Jeg samler data op i en tabel med disse rækker ----------------------------------------------------------- ID BrugerID Uge points 1 1 24 2 2 1 24 2 3 1 24 2 4 2 24 5 5 2 24 2 6 3 24 15 7 4 24 5 8 4 24 5 9 5 24 10 10 6 24 2
11 1 25 5 12 2 25 10 13 3 25 2 Og så videre.... ---------------------------------------------------------- Jeg har en adm side hvorfra jeg kan siger "Find placeringer for uge X" Når jeg gør det så skal den gennemløbe den ovenstående tabel og oprette poster i en anden tabel der hedder placering. Beder jeg om placering for uge 24, skal tabellen placeringer opdateres med disse poster. Hvis to brugere har samme antal points fx bruger 4 og bruger 5 skal der være random på om en den ene blev nummer x og den anden x+1 ---------------------- ID BrugerID Uge pointsTotal placering 1 1 24 6 5 2 2 24 7 4 3 3 24 15 1 4 4 24 10 2 (fundet random) 5 5 24 10 3 (fundet random) 6 6 24 2 6 --------------------
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
OK, i saa tilfälde... Lad os sige at tabel 2 hedder TABEL_SUMMATION og at ID er auto_increment:
UGE = Request.Form("UGE")
sql = "select sum(points) as points_total, BrugerID from TABEL where Uge = " & UGE & " order by points_total DESC, BrugerID" set rs = conn.executs(sql)
do while not rs.eof
if rs("points_total") <> temp_points_total then placering = placering + 1 end if
Lad os sige de samme 2 brugerer 5 uger i træk har samme antal points. Vil det så være den samme bruger der bliver nummer x og den samme der bliver nummer x+1 5 uger i træk - eller er det tilfældigt?
Jeg har en tabel "points" med x antal rækker her kan en bruger have x antal rækker med points - de skal summerer PR bruger og derefter placeres i den anden tabel
Så fik jeg det til at spille: --------------------- UGE = Request.Form("UGE") AAR = Request.Form("AAR")
strSQL = "select DISTINCTROW Sum(points) AS pointSum, Count(*) AS antalDeltagerer, brugerstatus, markedsstatus2 from points where uge = '" & UGE & "' AND aar= '" & AAR & "' GROUP BY brugerstatus, markedsstatus2 ORDER BY Sum(points)" Set rs = Conn.Execute(strSQL)
placeringTemp = 1 do while not rs.eof sql_2 = "insert into placering (brugerstatus, markedsstatus2, uge, aar, totalPoints, placering) values ('" & rs("brugerstatus") & "'," & rs("markedsstatus2") & ",'" & UGE & "','" & AAR & "'," & rs("pointSum") & ",'" & placeringTemp & "')" Conn.Execute(sql_2) placeringTemp = placeringTemp + 1 rs.movenext loop rs.close ------------------------- Men jeg mangler statig én der kan finde ud af lave en fair lodtrækning hvis 2 eller flere har samme antal points. det skal i så fald gøres inden posterne gennem i placering - nogen der lige har det?
strSQL = "select DISTINCTROW Sum(points) AS pointSum, Count(*) AS antalDeltagerer, brugerstatus, markedsstatus2 from points where uge = '" & UGE & "' AND aar= '" & AAR & "' GROUP BY brugerstatus, markedsstatus2 ORDER BY Sum(points), rnd(-(Sum(points)+MAX(ID))*" & R & ")"
Selvom jeg selv fik løst den første del opgave får du alle 60 points for den løsning havde jeg aldrig fundet selv ;-)
Takker
Synes godt om
Ny brugerNybegynder
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.