KoggenMedlem sedan juni 2002169 inlägg Hej
Jag skulle sortera ut tio högsta resultaten från ett fält i en Accesstabell och summera dom. Enkelt trodde jag, men av någon anledning kommer 12 resultat med? Har lekt lite hit och dit med SQL-satsen och do until med det blir inte rätt hur jag än gör.
Kod:
SQLAdd = "SELECT TOP 10 * FROM resultat_agility WHERE agility_ar = '" & cStr(year(date)) & "' AND agility_ekipageid = " & request.QueryString("id") & " AND agility_klass = 'Hoppklass' ORDER BY agility_barometerpoang DESC"
Set rsAdd = CreateObject("ADODB.Recordset")
rsAdd.open SQLAdd, ConnectB
do until rsAdd.eof
totHoppklass = totHoppklass + rsAdd("agility_barometerpoang")
tott = tott & "," & rsAdd("agility_barometerpoang")
rsAdd.moveNext
loop
response.write(totHoppklass)
Tacksam för hjälp!
KoggenMedlem sedan juni 2002169 inlägg Jag tror jag kom på var problemet ligger. Resultat nr 10 11 och 12 är samma. d.v.s. 5 därför kommer alla 3 med på "top 10-listan". Har ingen aning hur jag skall tala om att endast ett resultat skall koma med, och att resultat 10 skall räknas och inte 11. Samma resultat måste givetvis få förkomma bland dom "tio i topp"
KoggenMedlem sedan juni 2002169 inlägg Har löst det, i brist på bättre, med en räknare och en if-sats som kollar om räknaren är 10 eller mindre. Finns säkert en smartare lösning, men det får duga tills jag kommer på hur det egentligen skall lösas.
aronMedlem sedan mars 2004487 inlägg Mysko
Jag trodde att man bara fick med dom med samma resultat om man använder "WITH TIES". det hade kanske vart din lösning om problemet var tvärsom.
KoggenMedlem sedan juni 2002169 inlägg He-he kul det här att prata med sig själv. Jag kom på hur det skulle lösas och lösningen var enklare än jag trodde. Jag behövde sortera på mer än resultatfältet för at slippa få med flera likadana resultat. Slutliga SQL-satsen blev så här, om någon är intresserad:
SQLAdd = "SELECT TOP 10 agility_barometerpoang FROM resultat_agility WHERE agility_ar = '" & cStr(year(date)) & "' AND agility_ekipageid = " & request.QueryString("id") & " AND agility_klass = 'Hoppklass' ORDER BY agility_barometerpoang DESC, agility_id"
b242569Medlem sedan sep. 2005748 inlägg
Koggen skrev:
He-he kul det här att prata med sig själv. Jag kom på hur det skulle lösas och lösningen var enklare än jag trodde. Jag behövde sortera på mer än resultatfältet för at slippa få med flera likadana resultat. Slutliga SQL-satsen blev så här, om någon är intresserad:
SQLAdd = "SELECT TOP 10 agility_barometerpoang FROM resultat_agility WHERE agility_ar = '" & cStr(year(date)) & "' AND agility_ekipageid = " & request.QueryString("id") & " AND agility_klass = 'Hoppklass' ORDER BY agility_barometerpoang DESC, agility_id"
Du pratar inte bara med dig själv. Andra skriver i tråden också. Du kan markera ditt inlägg nr #5 som lösning. I tråden http://www.webforum.nu/showthread.php?t=180608 diskuteras sådant tydligare.
@ndersMedlem sedan juni 200026 914 inlägg Jag passar på att flytta tråden till rätt delforum också.
mvh