webForumDet fria alternativet

Problem med datum

Databaser & SQL

5 svar · 223 visningar · startad av JaktJanne

Medlem sedan feb. 20001 507 inlägg
Frågan#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.

Medlem sedan dec. 200012 464 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.

Medlem sedan feb. 20001 507 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.

Medlem sedan dec. 200012 464 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.

Medlem sedan feb. 20001 507 inlägg
#5

Skall testa, återkommer med hur det fortskrider

Medlem sedan feb. 20001 507 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

134 ms totalt · 2 externa anrop · v20260731065814-full.2ae45ccc
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)