Avatar billede humanoid Nybegynder
03. juli 2007 - 12:29 Der er 5 kommentarer og
1 løsning

Sum af værdier i tidsintervaller fra starttid til stoptid

Findes der en smart måde hvorpå man kan summere værdier inden for et tidsinterval mellem en start- og en stoptid.

eks.:
Jeg vil summere en værdi med et spring på 1 time, fra 01-01-2007 00:00:00 - 02-01-2007 00:00:00.

Så jeg får en værdi der representere summen for hver time i et tidsinterval, i ovenstående tilfælde vil det sige 24 forskellige værdier.
Avatar billede bromer Nybegynder
03. juli 2007 - 12:47 #1
Givet at du gerne vil summere over <column> i tabel <mytable>, hvor dit timestamp er gemt i <tscolumn> kan du måske bruge følgende:

SELECT sum(<column>) from <mytable> WHERE NOW() > '<starttime>' AND NOW() < '<endtime>' GROUP BY DATE(<tscolumn>), HOUR(<tscolumn>)

Så får du en række per time du har i databasen hvor du har summet over en kolonne. Endvidere filterer du så det kun er tidspunkter imellem <starttime> og <endtime> du får. Jeg har ikke testet den mod en MySQL, så det kan være der er syntaxfejl og lignende. Så må du lige råbe op.
Avatar billede editone Nybegynder
03. juli 2007 - 12:48 #2
SELECT datediff(minute, starttid, sluttid) as Forskel FROM test2
Avatar billede bromer Nybegynder
03. juli 2007 - 15:11 #3
humanoid> Hvilken type er det du vil summere? Jeg har antaget at det er noget SUM() kan forstå og editone mener det er en tidstype.
Avatar billede humanoid Nybegynder
03. juli 2007 - 15:17 #4
Det er summen af nogle celler, bromer din løsning var lige hvad jeg skulle bruge, med lidt mindre redigerenig:
SELECT SUM(<column>) FROM <mytable> WHERE <tscolumn> BETWEEN '2007-07-01 00:00:00' AND '2007-07-02 00:00:00' GROUP BY DATE(<tscolumn>),HOUR(<tscolumn>)

Det kunne godt være jeg skulle ha´ formuleret spørgsmålet på anden vis.
Jeg skal lige bruge et svar fra dig. (bromer)
Avatar billede bromer Nybegynder
03. juli 2007 - 16:49 #5
Between er en langt pænere løsning. Jeg kunne bare ikke huske om MySQL understøttede det :)
Avatar billede humanoid Nybegynder
04. juli 2007 - 10:00 #6
Tak for det !
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester