webForumDet fria alternativet

Problem med datum

5 svar · 223 visningar · startad av JaktJanne

JaktJanneMedlem sedan feb. 20001 249 inlägg
#1

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]:

  • f_Medel
  • f_Time
  • f_Längd

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.

LarsGMedlem sedan dec. 200012 465 inlägg
#2

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.

JaktJanneMedlem sedan feb. 20001 249 inlägg
#3

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.

LarsGMedlem sedan dec. 200012 465 inlägg
#4

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.

JaktJanneMedlem sedan feb. 20001 249 inlägg
#5

Skall testa, återkommer med hur det fortskrider

JaktJanneMedlem sedan feb. 20001 249 inlägg
#6

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

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb