09. oktober 2006 - 14:53Der er
23 kommentarer og 1 løsning
distinct og order by sum
Jeg har en database med f.eks betjentaf - dato - pris MM 09-10-2006 1000,00 MM 09-10-2006 500,00 MM 09-09-2006 250,00 LL 09-10-2006 2000,00 LL 09-10-2006 755,00 LL 09-10-2006 13,00 LL 09-11-2006 25,00
Kan det nu lade sig gøre at få et output der ser sådan ud, hvis request.querystring("md") = 10
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
prøver lige at formulere det bedre. er det muligt at lave en select af en enkelt måned, lave en sum af prisen og sortere efter betjentaf så outputtet f.eks. ser sådan her ud
Nu er koden jo ikke større end at du lige så godt kan poste den her. Så har andre også en mulighed for at lære noget af dette spørgsmål:
<% if request.querystring("sort") = "sammenligning" then %> <br> <p align="center"> <select onchange="location.href=this.value;" size="1" name="md1"> <option>Vælg måned</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=01&md2=<%=request.querystring("md2")%>">Januar</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=02&md2=<%=request.querystring("md2")%>">Februar</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=03&md2=<%=request.querystring("md2")%>">Marts</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=04&md2=<%=request.querystring("md2")%>">April</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=05&md2=<%=request.querystring("md2")%>">Maj</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=06&md2=<%=request.querystring("md2")%>">Juni</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=07&md2=<%=request.querystring("md2")%>">Juli</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=08&md2=<%=request.querystring("md2")%>">August</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=09&md2=<%=request.querystring("md2")%>">September</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=10&md2=<%=request.querystring("md2")%>">Oktober</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=11&md2=<%=request.querystring("md2")%>">November</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=12&md2=<%=request.querystring("md2")%>">December</option> </select> / <select onchange="location.href=this.value;" size="1" name="md2"> <option>Vælg måned</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=01">Januar</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=02">Februar</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=03">Marts</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=04">April</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=05">Maj</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=06">Juni</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=07">Juli</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=08">August</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=09">September</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=10">Oktober</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=11">November</option> <option value="test3.asp?vis=stats&sort=sammenligning&md1=<%=request.querystring("md1")%>&md2=12">December</option> </select> <br> <b><font face="Arial" size="2"> <% if request.querystring("md1") = 01 then response.write "Januar" end if %> <% if request.querystring("md1") = 02 then response.write "Februar" end if %> <% if request.querystring("md1") = 03 then response.write "Marts" end if %> <% if request.querystring("md1") = 04 then response.write "April" end if %> <% if request.querystring("md1") = 05 then response.write "Maj" end if %> <% if request.querystring("md1") = 06 then response.write "Juni" end if %> <% if request.querystring("md1") = 07 then response.write "Juli" end if %> <% if request.querystring("md1") = 08 then response.write "August" end if %> <% if request.querystring("md1") = 09 then response.write "September" end if %> <% if request.querystring("md1") = 10 then response.write "Oktober" end if %> <% if request.querystring("md1") = 11 then response.write "November" end if %> <% if request.querystring("md1") = 12 then response.write "December" end if %> / <% if request.querystring("md2") = 01 then response.write "Januar" end if %> <% if request.querystring("md2") = 02 then response.write "Februar" end if %> <% if request.querystring("md2") = 03 then response.write "Marts" end if %> <% if request.querystring("md2") = 04 then response.write "April" end if %> <% if request.querystring("md2") = 05 then response.write "Maj" end if %> <% if request.querystring("md2") = 06 then response.write "Juni" end if %> <% if request.querystring("md2") = 07 then response.write "Juli" end if %> <% if request.querystring("md2") = 08 then response.write "August" end if %> <% if request.querystring("md2") = 09 then response.write "September" end if %> <% if request.querystring("md2") = 10 then response.write "Oktober" end if %> <% if request.querystring("md2") = 11 then response.write "November" end if %> <% if request.querystring("md2") = 12 then response.write "December" end if %> </font></b> <% if request.querystring("md1") <> "" AND request.querystring("md2") <> "" then %> <% Set conn = Server.CreateObject("ADODB.Connection") Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db.mdb") sql = "SELECT betjentaf, COUNT(*) as Antal, SUM(pris) as totalpris FROM ordre WHERE MONTH(dato) = " & request.querystring("md1") &" GROUP BY betjentaf order by SUM(pris) desc;" set rs = Conn.Execute(sql) sql3 = "SELECT betjentaf, COUNT(*) as Antal, SUM(pris) as totalpris FROM ordre WHERE MONTH(dato) = " & request.querystring("md2") &" GROUP BY betjentaf order by SUM(pris) desc;" set rs3 = Conn.Execute(sql3) %> <br> </p> <div align="center"> <table border="0" width="66%"> <tr> <td align="center" style="border-style: solid; border-width: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px; padding-bottom: 1px" bordercolor="#000000"> <b> <font face="Arial" size="2">Ansat</font></b></td> <td align="center" style="border-style: solid; border-width: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px; padding-bottom: 1px" bordercolor="#000000"> <b> <font face="Arial" size="2">Antal kunder</font></b></td> <td width="227" align="center" style="border-style: solid; border-width: 1px; padding-left: 0px; padding-right: 0px; padding-top: 1px; padding-bottom: 1px" bordercolor="#000000"> <b> <font face="Arial" size="2">Beløb</font></b></td> </tr> <% do while not rs.EOF %> <% Sql2 = "select * from ansatte where mid = '" & rs("betjentaf") & "'" Set rs2 = Conn.Execute(sql2) %> <tr> <td style="border-style: dashed; border-width: 1px" bordercolor="#000000"> <% if rs("totalpris") > rs3("totalpris") then%><font face="Arial" size="2" color="#008000"><%=rs2("navn")%></font><% end if %> <% if rs("totalpris") = rs3("totalpris") then%><font face="Arial" size="2" color="#000000"><%=rs2("navn")%></font><% end if %> <% if rs("totalpris") < rs3("totalpris") then%><font face="Arial" size="2" color="#FF0000"><%=rs2("navn")%></font><% end if %> </td> <td align="right" style="border-style: dashed; border-width: 1px" bordercolor="#000000"> <font face="Arial" size="2"><%=rs("Antal") & " kunde(r)"%> / <%=rs3("Antal") & " kunde(r)"%></font></td> <td align="right" width="225" style="border-style: dashed; border-width: 1px" bordercolor="#000000"> <font face="Arial" size="2"><%=formatnumber(rs("totalpris"),2) & " DKK"%> / <%=formatnumber(rs3("totalpris"),2) & " DKK"%></font></td> </tr> <% rs.movenext loop %> </table> </div> <p align="center"> <% else %> <b><font face="Arial" size="2"> <br> <br> Vælg sammenligningsgrundlag </font></b> <% end if %><% end if %>
Der er en loop som køre over rs, og den kommer igennem:
Jeppe Kirk med 1,588.00 DKK Britt Mosegaard med 1,420.63 DKK Mark Mikkelsen med 320.13 DKK
I hvert gennemløb at loop'en sammenlignes rs med *første* post i rs3 (denne bliver altid ved med at være på den første række da der kaldes nogen MoveNext for rs3 noget sted i koden).
rs3's første række er "Jeppe Kirk med 1,588.00 DKK" (når der vælges September / September), og derfor er det første beløb sort, men de to efterfølgende beløb er røde fordi at de er mindre end 1,588.00.
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.