Jag har svårt att förstå vad du menar
select sum(f_time),sum(f_längd),avg(f_medel), month(f_date)
from tbl
group by month(f_date)
Visa lite data och vilket resultat du förväntar dig.
5 svar · 223 visningar · startad av JaktJanne
Börjat lite smått med en sortering ur en databas men vet inte riktigt hur jag skall gå tillväga.
Jag vill hämta följande fält ur samma db[tblTraining]:
Skall sortera efter månader (formatet: yy-mm-dd) och tänkte använda DatePart för att få fram rätt månad.
Därefter presentera varje månad summerat på en rad i en tabell med summan av f_Time och f_Längd och till sist medelvärdet på f_Medel.
Det sistnämnda skall inte vara så stora problem med bara jag får ut dom värderna jag vill.
Har ingen kod att visa, jag bara undrar hur jag bör lägga upp min SELECT sats.
Jag har svårt att förstå vad du menar
select sum(f_time),sum(f_längd),avg(f_medel), month(f_date)
from tbl
group by month(f_date)
Visa lite data och vilket resultat du förväntar dig.
LarsG skrev:
Visa lite data och vilket resultat du förväntar dig.
OK, exempelvis följande i db.
f_date - f_längd - f_Time - f_medel
2002-06-06 | 6 | 00:29:12 | 4,52
2002-06-10 | 5 | 00:24:59 | 4,59
2002-07-03 | 8 | 00:36:57 | 4,37
2002-07-15 | 9 | 00:46:43 | 5,11
Vill få ut följande slutresultat
Juni | 11 | 00:55:11 | 4,54
Juli | 17 | 01:23:40 | 5,03
Det är olika många poster i de olika månaderna.
Ok, då borde den fråga jag skrev fungera bra, frånsett att sum(f_time) inte blir bra. Du får göra om f_time till sekunder,summera
och sedan göra om till time igen. Exakt hur det fungerar beror på
vilken dbms det är.
Skall testa, återkommer med hur det fortskrider
Så här blev det :)
LarsG skrev:
select sum(f_time),sum(f_längd),avg(f_medel), month(f_date) from tbl group by month(f_date)
.. blev till slut
select sum(f_time) as ft,sum(f_längd) as fl,avg(f_medel) as fm, month(f_date) as fm
from [tblTraining]
group by month(f_date)
Gjort det lite omständigt kanske med en massa "as" men annars fick jag inget värde från mitt RS.
För att få rätt på tiden skrev jag så här (tror jag det var, det blev lite sent igår) FormatDateTime(RS("ft"), 4)
Som lite hjälp till andra och som kanske inte hör hemma i detta forumet så använder jag följande för att byta Månadsnr till Månad
Select Case RS("fm")
Case 1
fm = "januari"
Case 2
fm = "Februari"
.
.
End Case
Tack för hjälpen LarsG