Avatar billede puller Nybegynder
12. juni 2002 - 09:51 Der er 26 kommentarer og
3 løsninger

Sammentælling af poster

Hej,

Jeg skal tælle antal poster som forekommer inden for en dato og tidsinterval.


fx. mellem 11.30 - 12.00 og så fra 12.00 - 12.30.
Også fordelt på datoerne.

Datane ligger således:

Dato    AntalOfFelt2    Felt2
29-05-01    1    13:05
29-05-01    1    13:08
29-05-01    1    13:09
29-05-01    2    13:10
29-05-01    1    13:11
29-05-01    2    13:12
29-05-01    1    13:16
29-05-01    1    13:24
29-05-01    1    13:25
29-05-01    1    13:31
29-05-01    2    13:36
29-05-01    1    13:37
29-05-01    1    13:38
29-05-01    1    13:39
29-05-01    1    13:40
29-05-01    1    13:44
29-05-01    1    13:47
29-05-01    1    13:48
29-05-01    1    13:56
Mvh

Puller
Avatar billede terry Ekspert
12. juni 2002 - 10:06 #1
SELECT Count(*) FROM YourTable Where Dato Between #SomeDate# and #OtherDate# and Felt2 Between #someTime and #OtherTime#
Avatar billede terry Ekspert
12. juni 2002 - 10:13 #2
Not quite right!
SELECT Count(*) FROM YourTable Where Dato Between [Start Dato and [Slut Dato] and Felt2 Between [Start Tid] and [Slut Tid]
Avatar billede puller Nybegynder
12. juni 2002 - 10:22 #3
Det skal være sådan at den løber hele tabellen igennem og tæller alle datoerne sammen.

Således at den tæller den---> 290501 hvor mange der har været imellem 12.30 - 13.00 osv.

og den 300501 hvor mange der har været imellem 12.30 - 13.00  osv.
Avatar billede terry Ekspert
12. juni 2002 - 10:27 #4
cant see that from your question "antal poster"! I think you should re-define your question so we know EXACTLY what it is you wnatand maybe with an example or two!
Avatar billede hansk Nybegynder
12. juni 2002 - 10:43 #5
Det ville være en hjælp hvis du lavede en ny tabel, som indeholdte dine tidsintervaller.
Så kunne du trække ud som:

SELECT sum(AntalOfFelt2)
FROM gltbl, nytbl
WHERE Felt2 between Nytbl.fratid and Nytbl.tiltid
HAVING sum(AntalOfFelt2)>0
Avatar billede puller Nybegynder
12. juni 2002 - 10:50 #6
OK,

Lad os sige at jeg har oprettet en tabel der ser således ud:
ID          Interval
1            08.30 - 09.00
2            09.00 - 09.30
3            09.30 - 10.00  ........... etc.
Avatar billede terry Ekspert
12. juni 2002 - 10:57 #7
og?
Avatar billede nih Novice
12. juni 2002 - 10:58 #8
SELECT dato, Hour([felt2]) AS [time], IIf(Format([felt2],"nn")>=30,"30-00","00-30") AS minut, Sum(antal) AS SumOfantal
FROM Tabel1
GROUP BY dato, Hour([felt2]), IIf(Format([felt2],"nn")>=30,"30-00","00-30");
Niels
Avatar billede nih Novice
12. juni 2002 - 10:59 #9
Var et svar
Avatar billede nih Novice
12. juni 2002 - 11:01 #10
øhh dit feltnavn 'AntalOfFelt2' er jeg kommet til at omdøbe til 'antal'
Avatar billede puller Nybegynder
12. juni 2002 - 11:11 #11
Hvor taster jeg dette ind henne?
Avatar billede hansk Nybegynder
12. juni 2002 - 11:14 #12
Så kan du bruge flg:

SELECT tblny.id, Sum(tblgl.Antaloffelt2) AS SumOfAntaloffelt2
FROM tblny, tblgl
WHERE (((tblgl.felt2) Between [tblNy].[fratid] And [tblny].[tiltid]))
GROUP BY tblny.text
HAVING (((Sum(tblgl.Antaloffelt2))>0));
Avatar billede hansk Nybegynder
12. juni 2002 - 11:14 #13
Skulle se sådan ud:

SELECT tblny.id, Sum(tblgl.Antaloffelt2) AS SumOfAntaloffelt2
FROM tblny, tblgl
WHERE (((tblgl.felt2) Between [tblNy].[fratid] And [tblny].[tiltid]))
GROUP BY tblny.id
HAVING (((Sum(tblgl.Antaloffelt2))>0));
Avatar billede nih Novice
12. juni 2002 - 11:15 #14
Disse SQL sætninger skrives i en foresp. SQL visning.
Avatar billede puller Nybegynder
12. juni 2002 - 11:22 #15
Det forstår jeg ikke lige
Avatar billede puller Nybegynder
12. juni 2002 - 11:24 #16
Skal der være en fra tid og en til tid i interval tabellen?

Så det ser således ud?

ID          Fratid                Tiltid
1            08.30                  09.00
2            09.00                  09.30
Avatar billede nih Novice
12. juni 2002 - 11:24 #17
Din oprindelige 'tabel' ligner en forespørgsel.
prøv at indsætte et nyt felt:
nytFelt: IIf(Format([dateTimeFelt],"nn")>=30,"30-00","00-30")
og grupper efter det

dateTimeFelt] er et feltnavn
Avatar billede hansk Nybegynder
12. juni 2002 - 11:25 #18
Åben en ny query i design view.

Derefter vælger du SQL view på værktøjslinien.

Derefter indsættes sql'en som skrevet står.

Tilret navnene.
Avatar billede puller Nybegynder
12. juni 2002 - 11:27 #19
Lad os antage at tabellen ser således ud og hedder data:

Dato              AntalOfDato    Tid
Dato    AntalOfDato    Tid
29-05-01    1    17:48
29-05-01    1    18:04
29-05-01    1    18:10
29-05-01    2    18:18
29-05-01    1    18:19
29-05-01    1    18:28
29-05-01    2    18:31
29-05-01    1    18:33
29-05-01    1    18:34
29-05-01    1    18:38
30-05-01    1    12:54
30-05-01    2    12:55
30-05-01    1    12:56
30-05-01    1    12:57
30-05-01    2    13:01
30-05-01    1    13:02
30-05-01    1    13:03
30-05-01    1    13:05
30-05-01    1    13:06
Avatar billede hansk Nybegynder
12. juni 2002 - 11:27 #20
ja, din intervaltabel skal have fra og til tider.
Avatar billede puller Nybegynder
12. juni 2002 - 11:28 #21
Hvordan ser SQl'en så ud?

Er desværre lidt af en noob indenfor dette! ;o(
Avatar billede hansk Nybegynder
12. juni 2002 - 11:31 #22
SELECT interval.id, Sum(data.AntalOfDato) AS SumOfAntalOfDato
FROM interval, dato
WHERE (((dato.tid) Between [interval].[fratid] And [interval].[tiltid]))
GROUP BY interval.id
HAVING (((Sum(dato.AntalOfDato))>0));
Avatar billede puller Nybegynder
12. juni 2002 - 11:57 #23
Kan ikke få det til at virke
Avatar billede puller Nybegynder
12. juni 2002 - 11:58 #24
Har gjort som du skrev
Avatar billede hansk Nybegynder
12. juni 2002 - 12:09 #25
tabel dato:

id autonumber
dato date/time
Antalofdato number
tid date/time

tabel interval:

id autonumber
fratid date/time
tiltid date/time

SELECT interval.id, Sum(dato.AntalOfDato) AS SumOfAntalOfDato
FROM interval, dato
WHERE (dato.tid) Between [interval].[fratid] And [interval].[tiltid]
GROUP BY interval.id
HAVING Sum(dato.AntalOfDato)>0;
Avatar billede puller Nybegynder
12. juni 2002 - 12:19 #26
Der kommer stadig ikke noget i udvælgelsen? Kan jeg prøve at sende dig databasen med email?
Avatar billede hansk Nybegynder
12. juni 2002 - 12:26 #27
OK, send den til dko9517@vip.cybercity.dk
husk at zippe den.
Avatar billede hansk Nybegynder
12. juni 2002 - 12:52 #28
Jeg kunne ikke åbne databasen, din sikkerhed er for god.

Har i stedet sendt dig en prøve db i access2000 med to tabeller og en forespørgsel.
Avatar billede terry Ekspert
23. juni 2004 - 17:14 #29
:O)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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